阅读本文你可以获得:
| |
|
| |
|
- 了解CheckedListBox控件的属性及方法
- 掌握CheckedListBox控件被选择后的移除和添加方法
- 学习CheckedListBox控件在移除和添加时候的注意事项
- 学习CheckedListBox控件在移除和添加时候的多种解决方案
简介
可选列表框控件CheckedListBox类似于ListBox和Checkbox控件的综合体,允许用户在ListBox内有选择的挑选具体内容。
CheckedListBox控件的属性及方法
CheckedListBox控件主要的属性和事件如下表所示:
| 属性 | 说明 |
|---|---|
| Items | 描述控件对象中的所有项。 |
| MutiColumn | 决定是否可以以多列的形式显示各项。在控件对象的指定高度内无法完全显示所有项时可以分为多列,这种情况下若MutiColumn属性值为false,则会在控件对象内出现滚动条。 |
| ColumnWidth | 当控件对象支持多列时,指定各列所占的宽度 |
| CheckOnClick | 决定是否在第一次单击某复选框时即改变其状态 |
| SelectionMode | 指示复选框列表控件的可选择性。该属性只有两个可用的值None和One,其中None值表示复选框列表中的所有选项都处于不可选状态;One值则表示复选框列表中的所有选项均可选。 |
| Sorted | 表示控件对象中的各项是否按字母的顺序排序显示 |
| CheckedItems | 表示控件对象中选中项的集合,该属性是只读的 |
| CheckedIndices | 表示控件对象中选中索引的集合 |
| 事件与方法 | 说明 |
| SetItemChecked | 设置列表中的某个复选框的选中状态。 |
| SetSelected | 设置列表中的某个复选框的待选状态。 |
CheckedListBox控件实践操作
1. 案例学习:CheckedListBox 控件的设计开发
(1)从工具箱之中拖放三个CheckedListBox控件和四个Button控件,如下图所示进行排列。当点击左右移动的符号按钮时候,左右两侧的数据信息将按照客户意图进行移动,而移动信息将显示在下面的CheckedListBox控件中。

CheckedListBox控件运行效果图
(2)具体功能的实现见下面的编码部分:
|
/// <summary> /// 初始化事件在左侧的checkedListBox加载星期信息 /// </summary> private void Form4_Load(object sender, EventArgs e) { checkedListBox1.Items.Add("星期一"); checkedListBox1.Items.Add("星期二"); checkedListBox1.Items.Add("星期三"); checkedListBox1.Items.Add("星期四"); checkedListBox1.Items.Add("星期五"); checkedListBox1.Items.Add("星期六"); checkedListBox1.Items.Add("星期日"); } /// <summary> /// 移至右侧部分项 /// </summary> private void button1_Click(object sender, EventArgs e) { foreach (object o in checkedListBox1.CheckedItems) { checkedListBox2.Items.Add(o); } for (int i = 0; i < checkedListBox1.Items.Count; i++) { if (checkedListBox1.CheckedItems.Contains(checkedListBox1.Items[i])) { checkedListBox3.Items.Add(checkedListBox1.Items[i].ToString() + "被移至右侧"); checkedListBox1.Items.Remove(checkedListBox1.Items[i]); } } } /// <summary> /// 左侧全部移到右侧 /// </summary> private void button2_Click(object sender, EventArgs e) { foreach (object o in checkedListBox1.Items) { checkedListBox2.Items.Add(o); } checkedListBox1.Items.Clear(); checkedListBox3.Items.Add("左侧全部移到右侧"); } /// <summary> /// 右侧移到左侧 /// </summary> private void button3_Click(object sender, EventArgs e) { foreach (object o in checkedListBox2.CheckedItems) { checkedListBox1.Items.Add(o); } for (int i = 0; i < checkedListBox2.Items.Count; i++) { if (checkedListBox2.CheckedItems.Contains(checkedListBox2.Items[i])) { checkedListBox3.Items.Add(checkedListBox1.Items[i].ToString() + "被移至左侧"); checkedListBox2.Items.Remove(checkedListBox2.Items[i]); } } } /// <summary> /// 右侧全部移至左侧 /// </summary> private void button4_Click(object sender, EventArgs e) { foreach (object o in checkedListBox2.Items) { checkedListBox1.Items.Add(o); } checkedListBox2.Items.Clear(); checkedListBox3.Items.Add("右侧全部移到左侧"); } |
(慧都控件网版权所有,转载请注明出处,否则追究法律责任)



方便我们称呼您,我公司将承诺对于您的个人信息将完全保密

