如何从窗体中的其他复选框控件中选择或取消选择所有复选框列表

本文关键字:选择 复选框 取消 列表 控件 其他 窗体 | 更新日期: 2023-09-27 18:34:10

内部问题:

  1. 如果我全选,复选框控制:它根据逻辑工作

  2. 如果我取消选择所有复选框控件:它根据逻辑工作。

  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;
}

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

如何从窗体中的其他复选框控件中选择或取消选择所有复选框列表

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(对象发送者,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;
        }
    }