C#とVisual Studio 2010を使用して、別のボタンが押されたらボタンの背景色を変更するにはどうすればよいですか?システムは含まれていませんか?違う?
私が今持っているものは:
ButtonToday.Background = Color.Red;
そして、それは機能していません。
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;
}
WPFでは、背景はColor
ではなく、Brush
です。だから、まずはこれを試してください:
using System.Windows.Media;
// ....
ButtonToday.Background = new SolidColorBrush(Colors.Red);
ただし、より賢明なことに、コードではなくXamlでこれを行うことを検討する必要があります。
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));
最初は、WPFアプリケーションコントロールの色の設定に問題がありました。デフォルトではSystem.Windows.Media
が含まれていないように見えますが、事前に色が設定されているWindows.UI.Xaml.Media
は含まれています。
最終的には、次のコード行を使用して機能するようになりました。
grid.Background.SetValue(SolidColorBrush.ColorProperty, Windows.UI.Colors.CadetBlue);
grid.Background
を他のほとんどのコントロールに変更し、CadetBlue
が提供する他の色に変更できるはずです。
これらのいずれかが機能するかどうかは疑問です。試してみてください:最初に、以下のようにコードページの先頭に名前空間をインポートします。
using System.Drawing;
その後、コードで。
Button4.BackColor = Color.LawnGreen;
それが役に立てば幸い。