C# Change A Button's Background Color
How c开发者_如何学Pythonan the background color of a button once another button is pressed?
What I have at the moment is:
ButtonToday.Background = Color.Red;
And it's not working.
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;
}
In WPF, the background is not a Color
, it is a Brush
. So, try this for starters:
using System.Windows.Media;
// ....
ButtonToday.Background = new SolidColorBrush(Colors.Red);
More sensibly, though, you should probably look at doing this in your Xaml instead of in code.
Code for set background color, for 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));
I had trouble at first with setting the colors for a WPF applications controls.
It appears it does not include System.Windows.Media
by default but does include Windows.UI.Xaml.Media
, which has some pre-filled colors.
I ended up using the following line of code to get it to work:
grid.Background.SetValue(SolidColorBrush.ColorProperty, Windows.UI.Colors.CadetBlue);
You should be able to change grid.Background
to most other controls and then change CadetBlue
to any of the other colors it provides.
I doubt if any of those should work. Try: First import the namespace in the beginning of the code page as below.
using System.Drawing;
then in the code.
Button4.BackColor = Color.LawnGreen;
Hope it helps.
this.button2.BaseColor = System.Drawing.Color.FromArgb(((int)(((byte)(29)))), ((int)(((byte)(190)))), ((int)(((byte)(149)))));
精彩评论