Winforms Designer:修改(并保留)子对象中的属性
-
03-07-2019 - |
题
对于WinForms控件,我想将某些设置移动到子对象中。其中一个是包含所有UI字符串的自定义类,另一个是OpenFileDialog:
class MyControl: Control
{
// ...
private OpenFileDialog m_dlgOpen = new OpenFileDialog();
public OpenFileDialog DialogOpen
{
get { return m_dlgOpen; }
}
}
这会将子对象添加到设计器中,并允许编辑其属性(例如标题,默认扩展名,过滤器)。但是,更改不会添加到 InitalizeComponent
方法中,因此它们会丢失。
是否可以使此属性“持久”?在 InitializeComponent
方法?
解决方案
告诉设计师序列化对象本身:
[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
public OpenFileDialog DialogOpen {
get { return m_dlgOpen; }
}
不隶属于 StackOverflow