2009-03-01 60 views
1

對於WinForms控件,我想將某些設置移動到子對象中。其中之一是一個包含所有UI字符串外,其他的OpenFileDialog的自定義類:Winforms設計器:修改(並保留)子對象中的屬性

class MyControl: Control 
{ 
    // ... 
    private OpenFileDialog m_dlgOpen = new OpenFileDialog(); 
    public OpenFileDialog DialogOpen 
    { 
    get { return m_dlgOpen; } 
    } 
} 

這增加了副對象的設計者,並且允許編輯其屬性(例如,標題,默認擴展,過濾器)。但是,這些更改並未添加到InitalizeComponent方法中,因此它們會丟失。

是否有可能使這個屬性「堅持」在InitializeComponent方法?

回答

5

告訴設計師序列化對象本身:

[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)] 
    public OpenFileDialog DialogOpen { 
    get { return m_dlgOpen; } 
    }