2011-01-26 3 views
0

私はオブジェクトにバインドしたいプロパティグリッドを持っています。アプリケーションが実行されているときに、ボタンが表示され、そのオブジェクトのプロパティが設定され、フォームを呼び出したプロパティに返されるフォームが表示されます。私は、フォームをポップアップするボタンを持つプロパティグリッド項目にオブジェクトを設定したいと思います。期待どおりに動作しません

私は私のプロパティグリッドに表示するプロパティを取得カント:ここ

は、私がこれまで持っているものです。基本的には、フォームを使用してプロパティグリッド内の他の項目を埋めたいと思っています。

私は私の質問は...事前に

public class OptoSetupFormEditor : UITypeEditor 
{ 
    public override UITypeEditorEditStyle GetEditStyle(ITypeDescriptorContext context) 
    { 
     return UITypeEditorEditStyle.Modal; 
    } 


    public override object EditValue(ITypeDescriptorContext context, System.IServiceProvider provider, object value) 
    { 
     IWindowsFormsEditorService svc = provider.GetService(typeof(IWindowsFormsEditorService)) as IWindowsFormsEditorService; 
     DataTemp opto = value as DataTemp; 
     if (svc != null && opto != null) 
     { 
      using (OptoSigmaSetup form = new OptoSigmaSetup()) 
      { 

       if (svc.ShowDialog(form) == DialogResult.OK) 
       { 
        opto.Direction = form.Direction; 
        opto.FunctionToCall = form.FunctionToCall; 
        opto.Duration = form.Duration; 
       // OptoSigmaTest.Command = form. 
       } 
      } 
     } 
     return opto; // can also replace the wrapper object here 
    } 
} 

    [Editor(typeof(OptoSetupFormEditor),typeof(UITypeEditor))] 
    [TypeConverter(typeof(ExpandableObjectConverter))] 
    public DataTemp Test1 
    { 
     set 
     { 
      this.Duration = value.Duration ; 
      this.Direction = value.Direction; 
      this.FunctionUsed = value.FunctionToCall; 
     } 
    } 


    [ReadOnly(true), Category("Setup")] 
    public string FunctionUsed 
    { 
     get { return functionUsed; } 
     set { functionUsed = value; } 
    } 


    [ReadOnly(true), Category("Setup")] 
    public int Duration 
    { 
     get { return duration; } 
     set { duration = value; } 
    } 

    [ReadOnly(true),Category("Setup")] 
    public string Direction 
    { 
     get { return direction; } 
     set { direction = value; } 
    } 

    public class DataTemp 
{ 
    private int duration = 0; 
    private string direction = "Positive"; 
    private string functionToCall = "Home"; 

    public string FunctionToCall 
    { 
     get { return functionToCall; } 
     set { functionToCall = value; } 
    } 

    public int Duration 
    { 
     get { return duration; } 
     set { duration = value; } 
    } 
    public string Direction 
    { 
     get { return direction; } 
     set { direction = value; } 
    } 
} 

おかげで十分に明確だった願っています。それ以上の説明が必要な場合は、

答えて

0

Browsable属性で表示したいプロパティを追加しようとしましたか?

[Browsable(true)] 
[ReadOnly(true), Category("Setup")] 
public string FunctionUsed 
{ 
    get { return functionUsed; } 
    set { functionUsed = value; } 
} 

MSDN: BrowsableAttribute

EDIT:

フム、MSDN、この属性を持たない特性、またはtrueの値で指定された属性を有するものによれば、Propertyウィンドウに表示されるべきです。だから、これは残っている提案です。

+0

残念ながら、その作業は... :( –

関連する問題