由于我的大多数容器控件都使用透明背景颜色,因此我为它们创建了一个简单的基类:
public partial class BaseControl : UserControl {
public BaseControl() {
this.BackColor = Color.Transparent;
}
[DefaultValue(typeof(Color), "Transparent")]
public override Color BackColor {
get { return base.BackColor; }
set { base.BackColor = value; }
}
}
我的问题是,当继承或包含其中一个时,设计师不断在InitializeComponent()
中添加一行:
control.BackColor = System.Drawing.SystemColors.Control;
当我右键单击并在属性窗口中选择Reset
时,属性将重置为Transparent
,但当我重新打开窗口时,设计人员会立即将其重新设置为Control
。
我需要提及另一个属性来保持默认值吗?