2014-12-13 36 views
-2

問題內側殼體:如何選擇或取消選擇從其它複選框控件所有的CheckBoxList在形式

  1. 如果我選擇所有,複選框控件:它根據邏輯

  2. 如果我取消選擇所有的CheckBox工作控制:它按照邏輯工作。

  3. 問題:當用戶手動選擇一個個複選框時,當用戶手動檢查所有選項時,在下面選中所有複選框將顯示爲選中狀態。

  4. 問題:用戶選擇列表中的所有複選框,然後取消選擇任何一個選項,形成一個列表,下面選擇所有選中的框按鈕將選中

代碼:

if (checkBox1.Checked) 
{ 
    int length = chktb.Items.Count; 

    for (int le = 0; le < length; le++) 
    { 

     chktb.SetItemChecked(le, true); 
    } 
    checkBox1.Checked = true; 

} 
else 
{ 
    int length = chktb.Items.Count; 

    for (int le = 0; le < length; le++) 
    { 

     chktb.SetItemChecked(le, false); 
    } 

    checkBox1.Checked = false; 
} 

http://i.stack.imgur.com/1eSVF.jpg

+0

我已經鏈接了一個快照來理解。 – 2014-12-13 10:30:35

+2

快照不會幫助。嘗試重寫這個問題導致它不可讀。 – MajkeloDev 2014-12-13 10:32:46

+0

我瞭解您選擇全選複選框時所顯示的代碼。向我們展示當您選擇單個複選框(而非全選)時觸發的代碼。 – PiotrWolkowski 2014-12-13 10:36:47

回答

0
private void checkBox1_CheckedChanged(object sender, EventArgs e) 
    { 
     if (checkBox1.Checked) 
     { 
      int length = chktb.Items.Count; 

      for (int le = 0; le < length; le++) 
      { 
       chktb.SetSelected(le, true); 
       chktb.SetItemChecked(le, true); 
      } 
      checkBox1.Checked = true; 

     } 



     else 
     { 
      int length = chktb.Items.Count; 

      for (int le = 0; le < length; le++) 
      { 
       chktb.SetSelected(le, false); 
       chktb.SetItemChecked(le, false); 
      } 

      checkBox1.Checked = false; 

     } 




    } 

private void checklistBox_SelectedIndexChanged (object sender,EventArgs e) {

 int length=chktb.Items.Count; 

     int check_count=chktb.CheckedItems.Count; //total checked box in list 

     if (length == chktb.CheckedItems.Count) 
     { 

      checkBox1.Checked = true; 

     } 

    } 
相關問題