好的 - 所以,我做了一个屏幕键盘,用户打开大写锁定,盒子从黑色变为白色,然后再次点击时更改回来。
private void checkBox1_Click(object sender, EventArgs e)
{
if (checkBox1.Checked == true)
{
checkBox1.BackColor = Color.White;
checkBox1.ForeColor = Color.Black;
checkBox1.Checked = false;
}
else
{
checkBox1.Checked = true;
checkBox1.BackColor = Color.Black;
checkBox1.ForeColor = Color.White;
}
}
这就是我认为上述代码的工作原理:
我确定我在某个地方误解了这个,但我无法指出它。
关键在于,目前它根本没有改变颜色 - 不知怎的,我忘了添加它。
答案 0 :(得分:4)
您可能希望使用CheckBox.CheckedChanged
事件而不是Control.Click
事件。
此时,以下内容应该有效:
import
您无需处理checkBox1.BackColor = checkBox1.Checked ? Color.White : Color.Black;
checkBox1.ForeColor = checkBox1.Checked ? Color.Black : Color.White;
事件,然后手动设置Click
属性。处理Checked
应该为您完成。