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

「すべて選択」checkBox の 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 イベントを処理し、チェックされていない項目がある場合は、'すべて選択' checkBox のチェックを外します。

于 2015-01-24T09:04:46.610 に答える