J'ai un UITypeEditor personnalisé qui est utilisé pour la sélection de couleur avec mon programme en utilisant la propriété propertygrid, mais je n'arrive pas à l'activer si je viens d'exposer system.drawing .Couleur. J'ai besoin d'envelopper la couleur avec un CustomType avant qu'il appelle mon UITypeEditor. La propriété TheColour fonctionne. Le Couleur ne fait pas. Lorsque j'ouvre le propertyGrid, je vois que GetEditStyle
est appelée via les deux méthodes, mais quand il s'agit de EditValue
, elle est appelée uniquement lorsque vous sélectionnez TheColour dans la grille de propriétés. La liste déroulante Couleur normale s'affiche lorsque vous sélectionnez la propriété CouleurComment forcer l'utilisation de UITypeEditor personnalisé pour les types de système
Que manque-t-il?
<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
Trouvé - voir modifier à ma réponse. –