Je tente de créer un contrôle "ButtonPlus" simple. l'idée principale est d'hériter du bouton de contrôle et d'ajouter des valeurs de propriétés par défaut (telles que police, couleur, remplissage ...)Propriété de contrôle héritée .Net Par défaut
Peu importe comment j'essaie, le WinForm génère toujours (ou "série") la propriété valeur dans les formulaires client
le point entier est d'avoir un code minimal et propre, pas que chaque instance de buttonPlus devrait avoir 5 lignes de code init.
Je souhaite que le concepteur de formulaire ne génère aucun code pour ces propriétés et puisse les contrôler à partir du code ButtonPlus. En d'autres termes, si je change le ForeColor du rouge au bleu seulement 1 seule ligne de code de bingle dans l'application devrait changer.
hérite mon code jusqu'ici. Comme vous pouvez le voir, j'ai essayé d'utiliser defaultvalue, reset, shouldserialize .... tout ce que j'ai pu trouver sur le web!
Public Class ButtonPlus
Inherits Button
Sub New()
AutoSizeMode = Windows.Forms.AutoSizeMode.GrowAndShrink
Font = New System.Drawing.Font("Arial", 11.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(177, Byte))
Padding = New System.Windows.Forms.Padding(3)
Anchor = AnchorStyles.Left + AnchorStyles.Right + AnchorStyles.Top
ForeColor = Color.Aqua
End Sub
<DefaultValue(True)> _
Public Overrides Property AutoSize() As Boolean
Get
Return MyBase.AutoSize
End Get
Set(ByVal value As Boolean)
MyBase.AutoSize = value
End Set
End Property
Public Function ShouldSerializeAutoSize() As Boolean
Return False ' Not AutoSize = True
End Function
Public Function ShouldSerializeForeColor() As Boolean
Return False 'Not ForeColor = Color.Aqua
End Function
Public Overrides Sub ResetForeColor()
ForeColor = Color.Aqua
End Sub
End Class
Merci beaucoup d'avoir pris le temps de regarder encore et répondre à le meilleur
De plus, cela vous permettra de faire cela pour beaucoup d'autres contrôles (comboboxes, etc.) sans avoir à hériter vous-même de chaque contrôle. C'est TRES pratique! – Jaxidian