天天看點

CheckListBox用法詳解

1.添加項

checkedListBox1.Items.Add("藍色"); 

checkedListBox1.Items.Add("紅色"); 

checkedListBox1.Items.Add("黃色");

2.判斷第i項是否選中,選中為true,否則為false

if(checkedListBox1.GetItemChecked(i))

{

  return true;

else

{

  return false; 

}

3.設定第i項是否選中

checkedListBox1.SetItemChecked(i, true);  //true改為false為沒有選中。

4.設定全選 

添加一個名為select_all的checkbox控件,由其控制checkedListBox是全選還是全不選。

private void select_all_CheckedChanged(object sender, EventArgs e) 

   if(select_all.Checked) 

{

     for (int j = 0; j < checkedListBox1.Items.Count; j++) 

         checkedListBox1.SetItemChecked(j, true); 

}

else 

{

for (int j =0; j < checkedListBox1.Items.Count; j++) 

       checkedListBox1.SetItemChecked(j, false);

}

}

5.得到全部選中的值 ,并将選中的項的文本組合成為一個字元串。

 string strCollected = string.Empty;

 for (int i = 0; i < checkedListBox1.Items.Count; i++)

 {

      if (checkedListBox1.GetItemChecked(i))

      {

          if (strCollected == string.Empty)

          {

               strCollected = checkedListBox1.GetItemText(checkedListBox1.Items[i]);

          }

          else

          {

               strCollected = strCollected + "/" + checkedListBox1.GetItemText(checkedListBox1.Items[i]);

           }

       }

}

6.設定CheckedListBox中第i項的Checked狀态

checkedListBox1.SetItemCheckState(i, CheckState.Checked);

7. 

private void checkBoxAll_CheckedChanged(object sender, EventArgs e) 

    if (checkBoxAll.Checked) 

    { 

         //被選擇了則将CheckedListBox中的所有條目都變為Checked狀态 

        for (int i = 0; i < checkedListBoxLayerControl.Items.Count;i++) 

        {     

checkedListBoxLayerControl.SetItemCheckState(i,CheckState.Checked); 

}

else 

      //否則變成Unchecked狀态 

     for (int i = 0;i < checkedListBoxLayerControl.Items.Count; i++) 

{

checkedListBoxLayerControl.SetItemCheckState(i, CheckState.Unchecked); 

}              

}

}

8. checkedListBox 單選設定(代碼實作)

private void chkl_ItemAuditing_ItemCheck(object sender, ItemCheckEventArgs e)

if(chkl_ItemAuditing.CheckedItems.Count > 0) 

    { 

for(int i = 0; i < chkl_ItemAuditing.Items.Count; i++) 

{

if(i != e.Index) 

this.chkl_ItemAuditing.SetItemCheckState(i,System.Windows.Forms.CheckState.Unchecked); 

}

9.checkedListBox1顯示一個資料庫中關鍵字對應的所有記錄

for (int i = 0; i < table.Rows.Count; i++) 

    string name = table.Rows["myname"].ToString(); 

    string paw = table.Rows["mypaw"].ToString(); 

    checkedListBox1.Items.Add(name + paw); 

}

10. for(i=0;i<CheckedListBox.Items.Count;i++)   

{   

if(CheckedListBox.GetItemText(CheckedListBox.Items)=="你得到的值")   

{   

CheckedListBox.SetItemChecked(i,true);   

}   

}

11.清除checkedListBox1中所有的選項

for (int i = 0; i < checkedListBox1.Items.Count; i++)

{

    checkedListBox1.Items.Clear();

}

12.設定索引為index的項為選中狀态

for (int i = 0; i < checkedListBox1.Items.Count; i++) 

{

    checkedListBox1.SetItemChecked(i, true);

13.   

for (int i = 0; i < checkedListBox1.Items.Count; i++) 

{

if (checkedListBox1.GetSelected(i)) 

{

MessageBox.Show(checkedListBox1.CheckedItems.ToString());

}

}

14.選中checkedListBox1所有的選項

for (int i = 0; i < checkedListBox1.Items.Count; i++)         

{

checkedListBox1.SetItemCheckState(i, CheckState.Checked);

}

15.             

for (int i = 0; i < checkedListBox1.Items.Count; i++) 

{  

//如果checkedListBox1的第i項被選中,

//則顯示checkedListBox1對應的值

if (checkedListBox1.GetItemChecked(i)) 

     MessageBox.Show(checkedListBox1.Items.ToString()); 

}

}

16.反向選擇checkedListBox1的選項

for (int i = 0; i < checkedListBox1.Items.Count; i++) 

if (checkedListBox1.GetItemChecked(i)) 

    { 

checkedListBox1.SetItemChecked(i, false); 

    } 

    else 

    { 

        checkedListBox1.SetItemChecked(i, true); 

    } 

}

17.checkedListBox1中標明的項->checkedListBox2

for (int i = 0; i < checkedListBox1.CheckedItems.Count; i++) 

checkedListBox2.Items.Add(this.checkedListBox1.CheckedItems);

//remove是除去一個具體的值,不是index,注意了

this.checkedListBox1.Items.Remove(this.checkedListBox1.CheckedItems);       

} 18.綁定資料

checkedListBox1.DataSource = dt;

checkedListBox1.DisplayMember = "item";

checkedListBox1.ValueMember = "code";

這個屬性在checklistbox裡是沒有的,但是可以直接使用

19.

for (int i = 0; i < checkedListBox1.Items.Count; i++)

{

if (checkedListBox1.GetItemChecked(i))

{

checkedListBox1.SelectedIndex = i;

//利用SelectedValue取得Value值時,隻能取得目前焦點項的值。是以要對整個CheckedListBox中的所有勾選項,讓其都做一次焦點 項才能取得所有勾選的項的值。

str+= checkedListBox1.SelectedValue;

}

}

20.

CheckedlistBox控件比較有用到兩個屬性分别為CheckOnClick為True:表示單擊就選中目前行,為False :要點兩下才可以選中。(預設值為False)。還有一個屬性為ThreeDCheckBoxes為True:表示三維的選中标記,為False:表示表面的顯示标記。(預設值為False)。