我有一个自定义的UITypeEditor,用于我的程序中使用属性网格进行颜色选择,但是如果我仅公开system.drawing.color,似乎无法激活它。在调用我的UITypeEditor之前,我需要使用CustomType包装Color。
请注意属性“TheColour”可以正常工作,“Colour”不能。
当我打开属性网格时,我可以看到通过两种方法调用GetEditStyle,但是在选择颜色属性时,只有选择TheColour时才会调用EditValue。普通颜色下拉菜单显示在选择颜色属性时。
我错过了什么?
请注意属性“TheColour”可以正常工作,“Colour”不能。
当我打开属性网格时,我可以看到通过两种方法调用GetEditStyle,但是在选择颜色属性时,只有选择TheColour时才会调用EditValue。普通颜色下拉菜单显示在选择颜色属性时。
我错过了什么?
<CategoryAttribute("Order Colour"), _
Browsable(True), _
DisplayName("The Colour"), _
Description("The background colour for orders from this terminal"), _
EditorAttribute(GetType(IKMDependency.ColourSelectorEditor), _
GetType(System.Drawing.Design.UITypeEditor))> _
Public Property TheColour() As MyColour
Get
Return mMyColor
End Get
Set(ByVal value As MyColour)
If value.Colour <> mMyColor.Colour Then
mColor = value.Colour
mMyColor = value
mIsDirty = True
End If
End Set
End Property
<CategoryAttribute("Order Colour"), _
Browsable(True), _
DisplayName("Colour"), _
Description("The background colour for orders from this terminal"), _
EditorAttribute(GetType(IKMDependency.ColourSelectorEditor), _
GetType(System.Drawing.Design.UITypeEditor))> _
Public Property Colour() As Color
Get
Return mColor
End Get
Set(ByVal value As Color)
If mColor <> value Then
mColor = value
mMyColor = New MyColour(mColor)
mIsDirty = True
End If
End Set
End Property