2011-07-27 7 views
1

プロパティウィンドウにこれらの文字列 'm_nullPolicy'と 'm_nullVersion'を表示する必要があります。現在のところUIの中に と表示されています。私は検索しました。私はBrowsableAttributeクラスでそれを行うことができますが、私はここでそれを実装する方法はわかりません、誰でも私をここで案内できますか?BrowsableAttributeクラスを使用してプロパティグリッドに表示する方法

これは値を表示するコードです。 UI

if (Data.ResourcePolicy == null) 
          { 
           if (Data.AgentVersion == null) 
           { 
            SubItems.Add(ResourcePolicyAvailSystemsLVI.m_nullString); 
           } 
           else 
           { 
            SubItems.Add(m_nullPolicy); 
           } 
          } 
          else 
          { 
           SubItems.Add(Data.ResourcePolicy.Name); 
          } 
          if (Data.AgentVersion == null || Data.AgentVersion.Equals("0.0.0.0")) 
          { 
           SubItems.Add(ResourcePolicySystemsControl.m_nullVersion); 
          } 
          else 
          { 
           SubItems.Add(Data.AgentVersion); 
          } 

答えて

0

PropertyGridで手動で削除する場合、BrowsableAttributeは適用されません。

手動では、プロパティグリッドにアイテムを1つずつ挿入するときを指します。

ただし、BrowsableAttributeでプロパティを含むオブジェクトを使用して、そのオブジェクトをSelectedObjectプロパティに割り当てることができます。

は、以下のことを試してみてください。

例えば、いくつかのプロパティで、クラスを作成します。

class MyClass 
    { 
     public string Name { get; set; } 

     [BrowsableAttribute(false)] 
     public string InvisibleProperty { get; set; } 
    } 

は、その上にプロパティグリッドでフォームを作成します。今

、クラスをインスタンス化し、多分フォームのLoadイベントで、プロパティをSelectedObjectすることを割り当てる:

private void Form1_Load(object sender, EventArgs e) 
    { 
     propertyGrid1.SelectedObject = new MyClass(); 
    } 

この例では、プロパティグリッドがInvisiblePropertyNameプロパティを表示しませんが。

+0

プロパティグリッドには、編集するオブジェクト全体を割り当てるための 'SelectedObject'というプロパティがあります。 –

+0

私は私の側にfrmを試みさせましょう、可能でないなら私は応答します – ricky

関連する問題