0
一个奇怪的情况下,也许标题不是那么清楚,但是这是我遇到:的财产继承行为
我已经创建了一个基本形式,其中包含一个确定和取消按钮(这被称为BaseOkCancelButtonForm) 这种形式也具有一定的特性,这是这样的:
[Browsable (true)] [Category ("Design")] [DesignerSerializationVisibility (DesignerSerializationVisibility.Visible)] public string OkButtonText { get { return btnOk.Text; } set { btnOk.Text = value; } } [Browsable (true)] [Category ("Design")] [DefaultValue (true)] [DesignerSerializationVisibility (DesignerSerializationVisibility.Visible)] public bool OkButtonVisible { get { return btnOk.Visible; } set { btnOk.Visible = value; } } [Browsable (true)] [Category ("Design")] [DesignerSerializationVisibility (DesignerSerializationVisibility.Visible)] public string CancelButtonText { get { return btnCancel.Text; } set { btnCancel.Text = value; } } [Browsable (true)] [Category ("Design")] [DefaultValue (true)] [DesignerSerializationVisibility (DesignerSerializationVisibility.Visible)] public bool CancelButtonVisible { get { return btnCancel.Visible; } set { btnCancel.Visible = value; } }
现在,这是正在发生的事情: 我创建了一个新的形式,这在来自我的BaseOkCancelButtonForm。
当我修改我的继承形式的CancelButtonText属性,并重建项目时,一切都按预期进行:取消按钮的文本保持为我设置的文本。 但是,当我对CancelButtonVisible属性执行相同操作时,事情出错了。 当我将CancelButtonVisible属性设置为false并重建项目时,VS.NET将此属性的值重置为true。 :?
出于某种原因,设计者不会坚持改变的值? 这是知道的行为吗?难道我做错了什么 ?