2

当复选框全部被选中时,我正在尝试选择选中列表框中的所有项目“如何获取,这是我的代码

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

2 回答 2

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

    }
于 2012-10-01T11:09:14.337 回答
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);
}

如果要在取消选中“全选”复选框时取消选中所有已选中的ListBox 项目,请使用以下命令:

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 的ItemCheck 事件,如果任何项目未选中,则取消选中“全选”复选框。

于 2015-01-24T09:04:46.610 回答