我正在绘制自定义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设计器中使用此枚举类型选择?
答案 0 :(得分:2)
您可以继承扩展和添加属性所需的Control
,如果您不想继承它,则需要实现IExtenderprovider接口,该接口也继承自Component
类在设计时扩展对象的属性。
Tooltip
类实现了这个接口,这就是为什么你看到ToolTip on ToolTip1
属性出现在属性选项卡中,即使你没有这样的属性。