C# CheckedListBox控件的用法总结
程序员文章站
2022-03-10 14:25:07
一般认为:foreach (object obj in checkedlistbox1.selecteditems)即可遍历选中的值。
其实这里遍历的只是高亮的值并不是打...
一般认为:foreach (object obj in checkedlistbox1.selecteditems)即可遍历选中的值。
其实这里遍历的只是高亮的值并不是打勾的值。遍历打勾的值要用下面的代码:
for (int i = 0; i < checkedlistbox1.items.count; i++) { if (checkedlistbox1.getitemchecked(i)) { messagebox.show(checkedlistbox1.getitemtext(checkedlistbox1.items[i])); } }
最近用到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);
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。