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.
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;
}
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.
Code pour la couleur d'arrière-plan définie, pour SolidColor
:
button.Background = new SolidColorBrush(Color.FromArgb(Avalue, rValue, gValue, bValue));
// WPF
// Defined Color
button1.Background = Brushes.Green;
// Color from RGB
button2.Background = new SolidColorBrush(Color.FromArgb(255, 0, 255, 0));
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.
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.