我正在开发一个Windows窗体,根据复选框的选中状态启用/禁用某些控件。为了观察这个,有一个CheckedChanged事件的事件处理程序。这适用于其他形式,具有相同的确切代码,但在这里无法正常工作。无论复选框处于选中状态还是未选中状态,选中状态始终为false。下面的代码:C# - 复选框的CheckChanged事件错误检查状态
private void chkDisable_CheckedChanged(object sender, EventArgs e)
{
if (chkDisable.Checked)
{
DisableFormFields();
}
else
{
EnableFormFields();
}
}
就像我说的,这个确切的代码在一个形式很好 - 选中状态正确设置为true或根据你只是改变它为false。但是在新的形式中,Checked状态在该方法中始终为false,无论是正在选中还是未选中。事件触发正常,并且击中了我在方法中设置的断点,但Checked状态从不改变。有什么建议?
谢谢!
什么是你想要检查的复选框的名称?即使它触发了正确的事件处理程序,也许你正在测试错误的控件(chkDisable)? – Strillo 2012-04-19 12:40:57
尝试使用CheckBox.CheckState属性:如果(chkDisable.CheckState == CheckState.Checked) – Prashant 2012-04-19 12:42:11