2014-12-13 40 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; 

     } 

    } 
相关问题