J'essaie de créer un bouton personnalisé sur lequel la précouche est toujours cramoisie et la couleur arrière est toujours cyan. Un jeu de couleurs horrible, mais j'essaie juste de l'obtenir pour pouvoir créer de grandes quantités de contrôles avec un schéma de couleurs cohérent sans régler chaque contrôle individuellement. Voici comment je le bouton codé:Commandes Winforms personnalisées (un bouton en particulier)
public partial class CustomButton : Button
{
private static Color _defaultForeColor = Color.Crimson;
private static Color _defaultBackColor = Color.Cyan;
public CustomButton()
{
InitializeComponent();
base.ForeColor = _defaultForeColor;
base.BackColor = _defaultBackColor;
}
public AutoScaleMode AutoScaleMode { get; set; }
[DefaultValue(typeof(Color), "Crimson")]
override public Color ForeColor
{
get { return base.ForeColor; }
set
{
base.ForeColor = _defaultForeColor;
}
}
[DefaultValue(typeof(Color), "Cyan")]
public override Color BackColor
{
get { return base.BackColor; }
set
{
base.BackColor = _defaultBackColor;
}
}
}
Lorsque je laisse tomber le bouton personnalisé sur ma forme, l'arrière-plan est la couleur du bouton régulier et le texte est rouge. Si je lance l'application, c'est la même chose. Maintenant, si j'essaie de modifier la couleur de fond ou la couleur de fond dans la fenêtre de propriétés, ils retournent à leurs valeurs par défaut que je définis (cramoisi, cyan) et ils apparaissent également de cette façon lorsque je lance mon application. Comment puis-je obtenir les contrôles apparaître correctement dans le concepteur et au moment de l'exécution?