web-dev-qa-db-ja.com

C#ボタンの背景色を変更する

C#とVisual Studio 2010を使用して、別のボタンが押されたらボタンの背景色を変更するにはどうすればよいですか?システムは含まれていませんか?違う?

私が今持っているものは:

ButtonToday.Background = Color.Red;

そして、それは機能していません。

30
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;
}
67
Feroc

WPFでは、背景はColorではなく、Brushです。だから、まずはこれを試してください:

using System.Windows.Media;

// ....

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

ただし、より賢明なことに、コードではなくXamlでこれを行うことを検討する必要があります。

12
Dan Puzey

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

最初は、WPFアプリケーションコントロールの色の設定に問題がありました。デフォルトではSystem.Windows.Mediaが含まれていないように見えますが、事前に色が設定されているWindows.UI.Xaml.Mediaは含まれています。

最終的には、次のコード行を使用して機能するようになりました。

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

grid.Backgroundを他のほとんどのコントロールに変更し、CadetBlueが提供する他の色に変更できるはずです。

1
Viper

これらのいずれかが機能するかどうかは疑問です。試してみてください:最初に、以下のようにコードページの先頭に名前空間をインポートします。

using System.Drawing;

その後、コードで。

Button4.BackColor = Color.LawnGreen;

それが役に立てば幸い。

0
Jiby Matthews