例如 我想创建一个包含标签和文本框的usercontrol(窗体)。 我想将两个子控件公开为属性,以便我可以 在客户端表单设计器中设置子控件的属性。
因此代码可能是这样的:
public partial class LabelTextbox : UserControl { public LabelTextbox() { InitializeComponent(); } [ Category("Appearance"), Browsable(true), Description("innerLabel") ] public DevComponents.DotNetBar.LabelX LabelPart { get { return this.labelx; } set { this.labelx = value; } } [ Category("Appearance"), Browsable(true), Description("InnerTextbox") ] public TextBox TextBoxPart { get { return this.textboxx; } set { this.textboxx = value; } } }
然后我可以在设计师看到它,它看起来像:
但是当我在设计器中设置usercontrol的内部标签属性时, 它无法在designer.cs中创建关系代码。 也就是说不保存客户端设置。
所以我该如何解决这个问题。
顺便说一句,我来自CN,我的英语很差。任何人都可以回答我。
答案 0 :(得分:6)
使用DesignerSerializationVisibility
属性:
[
Category("Appearance"),
Browsable(true),
Description("innerLabel"),
DesignerSerializationVisibility(DesignerSerializationVisibility.Content) //<-- here
]
public DevComponents.DotNetBar.LabelX LabelPart {
get {
return this.labelx;
}
set {
this.labelx = value;
}
}