2

我有带有标签的 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 属性设置为“我的示例标签”。然后,我有我的 MainForm,上面有 UserControl 'B'。

每次构建或运行时,UserControl 'A' 的 Text 属性都会重置为其默认值。我想这是因为我正在重建,它重建了 UserControl 'A' 和 'B',从而导致了问题。

在应用程序中使用紧密绑定的控件和表单时,如何采用更好的设计模式方法来避免此类行为?

4

1 回答 1

6

我有同样的问题。

试试这个:

[Category("Appearance")]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
public override string Text
{
     get { return uxLabel.Text; }
     set { uxLabel.Text = value; }
}
于 2010-01-13T04:00:35.207 回答