C# CheckedListBox控件:遍历与操作选中项

17 下载量 23 浏览量 更新于2024-08-29 收藏 49KB PDF 举报
"这篇文档总结了C#编程中CheckedListBox控件的使用方法,包括如何遍历选中项、添加项、检查项的状态以及实现全选功能。" 在C#编程环境中,CheckedListBox是一个非常实用的控件,它允许用户在列表中选择一个或多个项目,并通过复选框表示选中状态。这篇文档详细介绍了CheckedListBox的一些关键操作,有助于开发者更高效地使用这个控件。 首先,我们澄清一个常见误区:通常人们认为`foreach`循环可以遍历CheckedListBox的选中项,如`foreach (object obj in checkedListBox1.SelectedItems)`,但其实这只会遍历当前高亮显示的项,并非实际被勾选的项。正确遍历选中项的方法是使用`for`循环,配合`GetItemChecked`方法,如下所示: ```csharp for (int i = 0; i < checkedListBox1.Items.Count; i++) { if (checkedListBox1.GetItemChecked(i)) { MessageBox.Show(checkedListBox1.GetItemText(checkedListBox1.Items[i])); } } ``` 这段代码会遍历列表中的每一项,如果某项被选中(即复选框被勾选),则通过`GetItemText`获取该项的文本并展示。 接着,文档提供了几个常用的操作方法: 1. 添加项:使用`Items.Add`方法可以向CheckedListBox中添加新的项目,例如: ```csharp checkedListBox1.Items.Add("蓝色"); checkedListBox1.Items.Add("红色"); checkedListBox1.Items.Add("黄色"); ``` 2. 检查第i项是否选中:通过`GetItemChecked`方法,我们可以判断第i个项是否被选中: ```csharp if (checkedListBox1.GetItemChecked(i)) { return true; } else { return false; } ``` 3. 设置第i项的选中状态:利用`SetItemChecked`方法可以改变项的选中状态: ```csharp checkedListBox1.SetItemChecked(i, true); // 选中 checkedListBox1.SetItemChecked(i, false); // 取消选中 ``` 4. 全选/全不选功能:可以通过一个名为`select_all`的CheckBox控件来实现。当`select_all`被选中时,所有列表项都被选中;反之,所有项都被取消选中: ```csharp 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. 获取所有选中项的文本并组合成字符串:若需获取所有选中项的文本并组合,可以编写以下代码: ```csharp string st = ""; foreach (object obj in checkedListBox1.CheckedItems) { st += obj.ToString() + ","; } st = st.TrimEnd(','); // 去除最后一个逗号 ``` 这些基本操作涵盖了CheckedListBox控件的常见使用场景,对于处理多选项选择的需求十分实用。通过理解和应用这些方法,开发者能够更好地管理CheckedListBox控件,提升程序的用户体验。