我有一个带有标签的UserControl'A',以及这个属性:
/// <summary>
/// Gets or Sets the text of the control
/// </summary>
[
Browsable(true),
EditorBrowsable(EditorBrowsableState.Always),
Category("Appearance")
]
public override string Text {
get {
return uxLabel.Text;
}
set {
uxLabel.Text = value;
}
}
然后我有UserControl'B',其上有UserControl'A',我在设计器中将Text Property设置为“My Example Label”。然后,我有我的MainForm,它上面有UserControl'B'。
每次进行构建或运行时,UserControl“A”的Text属性都会重置为其默认值。我想这是因为我正在进行重建,它会重建UserControl'A'和'B',从而导致问题。
在应用程序中使用紧密绑定的控件和表单时,如何更好地设计模式以避免此类行为?
答案 0 :(得分:6)
我遇到了同样的问题。
试试这个:
[Category("Appearance")]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
public override string Text
{
get { return uxLabel.Text; }
set { uxLabel.Text = value; }
}