2012-10-01 28 views
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) ; 
     } 
    } 
} 
+0

究竟是什麼工作? – Thousand

回答

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

    } 
0

手柄的CheckedChanged事件「選擇鋁l'複選框。在此,循環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事件,並取消選中「全選」複選框,如果任何項目未選中。