use*_*971 5 user-controls winforms
例如,我想创建一个包含标签和文本框的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,我的英语很差.任何人都可以回答我.
使用属性装饰子控件的DesignerSerializationVisibility属性:
[
   Category("Appearance"),
   Browsable(true),
   Description("innerLabel"),
   DesignerSerializationVisibility(DesignerSerializationVisibility.Content)  //<-- here
]
public DevComponents.DotNetBar.LabelX LabelPart {
    get {
        return this.labelx;
    }
    set {
        this.labelx = value;
    }
}