【发布时间】:2011-05-03 07:02:39
【问题描述】:
我有一个自定义 UITypeEditor,它用于我的程序使用 propertygrid 进行颜色选择,但如果我只公开 system.drawing.color,我似乎无法激活它。在调用我的 UITypeEditor 之前,我需要使用 CustomType 包装 Color。
注意它的属性 TheColour。 颜色没有。
当我打开 propertyGrid 时,我可以看到 GetEditStyle 是通过这两种方法调用的,但是当涉及到 EditValue 时,它只有在您在 propertygrid 中选择 TheColour 时才会被调用。选择颜色属性时会显示正常颜色下拉菜单
我错过了什么?
<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
【问题讨论】:
-
找到了 - 请参阅我的答案的编辑。
标签: .net propertygrid