Como forçar o uso do UITypeEditor personalizado para tipos de sistema
Eu tenho um UITypeEditor personalizado que está sendo usado para Seleção de cores com o meu programa usando o propertygrid, mas não consigo ativá-lo se eu apenas expor system.drawing.color. Preciso envolver a Color com um CustomType antes que ele invoque meu UITypeEditor.
Observe a propriedadeA cor funciona. oCor não.
Quando abro o propertyGrid, posso verGetEditStyle
é chamado pelos dois métodos, mas quando se trata deEditValue
Ele é chamado apenas quando você seleciona TheColour no propertygrid. A lista suspensa Cor normal é mostrada quando você seleciona Propriedade da cor
o que estou perdendo?
<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