如何从表单中的其他CheckBox控件中选择或取消选择所有checkboxlist

时间:2014-12-13 10:23:42

标签: c# winforms

案例中的问题:

  1. 如果我选择全部,CheckBox控件:它按照逻辑

  2. 工作
  3. 如果我取消选择所有CheckBox控件:它按逻辑工作。

  4. 问题:当用户手动选中一个一个复选框时,当用户手动选中所有选项时,下面选中所有复选框将显示为已选中。

  5. 问题:用户选择列表中的所有复选框并从列表中取消选择任何一个选项,下面选中所有复选框按钮将取消选中

  6. 代码:

    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

1 个答案:

答案 0 :(得分: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;

        }

    }