Visual Studio-继承控件的新"默认"属性值

时间:2020-03-05 18:38:52  来源:igfitidea点击:

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

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

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

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

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

解决方案

回答

在派生类中,我们需要重写(或者使用新的阴影)所讨论的属性,然后重新应用默认值属性。