扩展类的属性
本文关键字:属性 扩展 | 更新日期: 2023-09-27 18:18:34
我正在绘制我的自定义TabControl。现在我想通过枚举来指定图标。通常,在创建自定义UserControl时,通过用一些ComponentModel属性定义一个属性,你可以在VS设计器中编辑这个属性。我当前的代码:
public class TabPageExtensions
{
[TypeConverterAttribute(typeof(IconType))]
[Editor(typeof(IconType), typeof(IconType))]
[Browsable(true), EditorBrowsable(EditorBrowsableState.Advanced)]
public IconType Icon
{
get;
set;
}
}
public enum IconType
{
None, Home, Settings, Bars, Manual, Information, Graph
}
但是扩展属性没有显示在设计器中。是否有任何方法可以在扩展属性的VS设计器中使用此枚举类型选择?
您可以继承您需要扩展和添加属性的Control
,如果您不想继承它,您需要实现IExtenderprovider接口,该接口也继承自Component
类,以便在设计时扩展对象的属性。
Tooltip
类实现了这个接口,这就是为什么你看到ToolTip on ToolTip1
属性出现在属性标签,即使你没有这样的属性