单击复选框时,尝试选中选中列表框中的所有项目

时间:2012-10-01 11:03:08

标签: c# winforms

当我选中复选框All时,我正在尝试选中选中列表框中的所有项目 如何获得,这是我的代码

private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
    if (cbAll.Checked)
    {
        if(clbViruslist.Items.Count > 0)
        {
           // here clbViruslist is the checked list o
           // for(int i=0;i<clbViruslist.Items.Count;i++)
           // clbViruslist.SetSelected(i,true);
           // clbViruslist.SetSelected(0,true ) ;
        }
     }
 }

2 个答案:

答案 0 :(得分:0)

private void cbAll_CheckedChanged(object sender, EventArgs e)
    {
        if (cbAll.Checked)
        {
            foreach (ListItem item in clbViruslist.Items)
            {
                item.Selected = true;                
            }
        }
    }
  

或者这个好多了

private void checkBox1_CheckedChanged(object sender, EventArgs e)
    {
       foreach (ListItem item in clbViruslist.Items)
       {
           item.Selected = checkBox1.Checked;                
       }

    }

答案 1 :(得分:0)

处理'全选'复选框的CheckedChanged事件。在这里,遍历checkedListBox的所有项并检查它们。

private void checkBoxAll_CheckedChanged(object sender, EventArgs e)
{
    if (checkBoxAll.Checked)
        for (int i=0; i <= clbViruslist.Items.Count; i++)
            clbViruslist.SetItemChecked(i, true);
}

如果要在取消选中“全选”复选框时取消选中所有checkedListBox项,请使用此选项:

private void checkBoxAll_CheckedChanged(object sender, EventArgs e)
{
    if (checkBoxAll.Checked)
        for (int i=0; i <= clbViruslist.Items.Count; i++)
            clbViruslist.SetItemChecked(i, true);
    else
        for (int i=0; i <= clbViruslist.Items.Count; i++)
            clbViruslist.SetItemChecked(i, false);
}

如果未选中任何checkedListBox项,您可能还需要取消选中“全选”复选框。为此,处理checkedListBox的ItemCheck事件,如果未选中任何项,则取消选中“Select All”复选框。