Comment éviter les changements de couleur lorsque le bouton est désactivé ?
Nous avons un projet Windows Forms avec pas mal de boutons FlatStyle.
Lorsque nous désactivons les boutons, les couleurs des boutons sont automatiquement modifiées Frown |:(
Est-il possible de remplacer cela d'une manière ou d'une autre, afin que nous puissions contrôler les couleurs nous-mêmes ?
Solution du problème
Vous devez utiliser l'événement EnabledChanged pour définir la couleur souhaitée. Voici un exemple.
private void Button1_EnabledChanged(object sender, System.EventArgs e)
{
Button1.ForeColor = sender.enabled == false? Color.Blue: Color.Red;
Button1.BackColor = Color.AliceBlue;
}
Utilisez les couleurs souhaitées selon vos besoins.
Vous devez également utiliser l'événement de peinture.
private void Button1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
{
dynamic btn = (Button)sender;
dynamic drawBrush = new SolidBrush(btn.ForeColor);
dynamic sf = new StringFormat {
Alignment = StringAlignment.Center,
LineAlignment = StringAlignment.Center };
Button1.Text = string.Empty;
e.Graphics.DrawString("Button1", btn.Font, drawBrush, e.ClipRectangle, sf);
drawBrush.Dispose();
sf.Dispose();
}
Commentaires
Enregistrer un commentaire