web-dev-qa-db-fra.com

C # Change la couleur de fond d'un bouton

Avec C # et Visual Studio 2010, comment puis-je changer la couleur d'arrière-plan d'un bouton une fois qu'un autre bouton est enfoncé? Est-ce que je n'inclus pas un système? faux?

Ce que j'ai en ce moment, c'est:

ButtonToday.Background = Color.Red;

Et ça ne marche pas.

25
The Woo

WinForm:

private void button1_Click(object sender, EventArgs e)
{
   button2.BackColor = Color.Red;
}

WPF:

private void button1_Click(object sender, RoutedEventArgs e)
{
   button2.Background = Brushes.Blue;
}
63
Feroc

Dans WPF, l'arrière-plan n'est pas une Color, c'est une Brush. Alors, essayez ceci pour commencer:

using System.Windows.Media;

// ....

ButtonToday.Background = new SolidColorBrush(Colors.Red);

Plus judicieusement, vous devriez probablement regarder cela dans votre Xaml plutôt que dans le code.

12
Dan Puzey

Code pour la couleur d'arrière-plan définie, pour SolidColor

button.Background = new SolidColorBrush(Color.FromArgb(Avalue, rValue, gValue, bValue));
4
XiaoYao
// WPF

// Defined Color
button1.Background = Brushes.Green;

// Color from RGB
button2.Background = new SolidColorBrush(Color.FromArgb(255, 0, 255, 0));
1
Volodymyr Sichka

Au début, j’ai eu du mal à définir les couleurs des contrôles des applications WPF . Il semble qu’il n’inclue pas System.Windows.Media par défaut, mais inclut Windows.UI.Xaml.Media, qui contient des couleurs déjà remplies.

J'ai fini par utiliser la ligne de code suivante pour le faire fonctionner:

grid.Background.SetValue(SolidColorBrush.ColorProperty, Windows.UI.Colors.CadetBlue);

Vous devriez pouvoir changer grid.Background avec la plupart des autres contrôles, puis CadetBlue avec l'une des autres couleurs fournies.

1
Viper

Je doute que l’un d’entre eux doive fonctionner… .. Essayez:.

using System.Drawing;

puis dans le code.

Button4.BackColor = Color.LawnGreen;

J'espère que ça aide.

0
Jiby Matthews