我有一个自定义控件.它继承自System.Windows.Forms.Control
,并且我添加了几个新属性.是否可以显示我的属性(例如TextOn和TextOff)而不是默认的"Text"属性.
我的控制工作正常,我只想解除属性窗口的杂乱.
您可以覆盖它们(如果它们可以被覆盖)并应用Browsable
属性,指定false
或创建属性的新版本并应用相同的属性(第二种方法似乎并不总是起作用,因此YMMV).
此外,您可以TypeConverter
为您的类型使用自定义,并覆盖该GetProperties
方法以控制为您的类型显示哪些属性.这种方法对底层基类的更改更加健壮,但可能需要付出更多努力,具体取决于您希望实现的目标.
我经常使用Browsable
属性和自定义的组合TypeConverter
.
覆盖属性并添加[Browsable(false)]
.
您可能还想添加[EditorBrowsable(EditorBrowsableState.Never)]
,这将在代码编辑器中隐藏IntelliSense中的属性.请注意,它只会隐藏在与原始控件不同的解决方案中.