关于c#:Visual Studio-继承控件的新”默认”属性值

关于c#:Visual Studio-继承控件的新”默认”属性值

Visual Studio - new “default” property values for inherited controls

我正在寻找有关在Visual Studio中为继承的控件设置新的默认属性值的帮助:

1
2
3
4
class NewCombo : System.Windows.Forms.ComboBox
{
  public NewCombo() { DropDownItems = 50; }
}

问题是,基类属性DropDownItems上设置了一个"默认"属性,该属性的值不同(而不是50)。结果,当我将控件拖到窗体上时,设计器文件将显示一条明确的mycontrol.DropDownItems = 50;行。

首先,这无关紧要。但是,如果稍后我在构造函数中将继承的类更改为DropDownItems = 45;,则这不会影响任何形式的任何控件,因为所有这些设计器文件中的值仍为50硬编码。关键是将价值设置在一处,这样我就可以应对客户改变主意的情况。

很显然,如果我要在子类中创建自己的自定义属性,则可以为它提供自己想要的设计器默认属性。但是在这里,我想更改基本属性的默认值。有什么方法可以将Visual Studio属性应用于基类成员?还是有其他解决方法来获得我想要的结果?


在派生类中,您需要覆盖(或使用new进行阴影处理)有问题的属性,然后重新应用默认值属性。


推荐阅读