我正在開發一個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