我是C#的新手。我开发了一个类似于Hangman的小程序......这是我的问题:我找不到任何可以改变我的复选框颜色的工作命令。
以下是我的程序代码[实际代码正在工作的地方,注释是我想要了解如何更改复选框的颜色]:
public void voirSiLettre(char lettre)
{
if (motRechercher.Contains(lettre))
{
for (int i = 0; i < motRechercher.Length; i++)
{
if (motRechercher[i].Equals(lettre))
{
StringBuilder sb = new StringBuilder(txtMot.Text);
sb[i] = lettre;
txtMot.Text = sb.ToString();
}
} //CheckBox --> Green
}
else
{
//CheckBox --> Red
}
}
以下是您想要的复选框的代码:
private void chkA_Checked(object sender, RoutedEventArgs e)
{
voirSiLettre('a');
chkA.IsEnabled = false;
}
这很简单,但我找不到好的命令和/或如何将它放在这段代码中。我不是要求代码,也许只是一个带有一些解释的命令;我在这里学习。
答案 0 :(得分:1)
要更改复选框的背景颜色,可以使用Checkbox.Background = Brush,在您的情况下它将是
chkA.Background = new SolidColorBrush(Colors.Red);
如果您正在处理复选框而不更改状态,这样可以正常工作,但是如果您将其设置为绿色然后用户选中该框,它将保持绿色,除非您处理已检查事件中的更改。
另一种选择是在xaml中添加样式,例如:
<Window.Resources>
<Style TargetType="CheckBox" x:Name="test">
<Setter Property="Background" Value="Green"/>
</Style>
</Window.Resources>
然后,您可以将其用作普通背景,并在想要将其更改为红色时在代码中进行修改。