checkbox 选中事件(winform checkbox选中触发事件)奔走相告
hello guys,今天的小白继续在努力码字分享。
hello guys,今天的小白继续在努力码字分享我们会碰到这么一个场景,例如说需要一个控件来批量显示单据号,并且可以进行选择并获取选中的单据号进行下一步操作,Winform中可以实现这个功能的控件有ListBox,ListView,CheckListBox,DataGridView等。
今天我要分享的是CheckListBox的一些用法1、单击即可勾选CheckboxCheckListBox默认是鼠标单击Item时,只是选中了Item,需要再点击一下Item,才可以勾选Checkbox。
个人观点,在大部分使用场景中,这种使用体验并不好,所以在初始化这个控件的时候,我们可以设置CheckOnClick属性为true;this.checkedListBox1.CheckOnClick =
true;实际操作步骤:
2、点击全选如果列表的Item很多,这个时候要全选的话,一个个去点击是非常费劲的,我们可以增加一个全选按钮全选Item时,注意CheckListBox中的CheckBox是没有Checked属性的,我们需要用到GetItemChecked和SetItemChecked两个方法来实现这个功能。
具体代码如下://全选功能for (int i = 0; i < this.checkedListBox1.Items.Count; i++) { if (this.checkedListBox1.GetItemChecked(i) ==
false) this.checkedListBox1.SetItemChecked(i,true); }实际操作步骤:(我这里是用代码先增加一个Button,再写这个Button的Click事件,实际操作中可以直接拖拽一个控件,比较方便,后期维护也方便)
3、点击反选反选功能跟全选功能有相似之处,反选功能使用场景:需要在众多Item中剔除几个不要的,可以先选中这几个Item,然后反选中其他Item具体代码如下://反选功能for (int i = 0; i <
this.checkedListBox1.Items.Count; i++) { if (this.checkedListBox1.GetItemChecked(i) == true)
this.checkedListBox1.SetItemChecked(i, false); elsethis.checkedListBox1.SetItemChecked(i,true); }
实际操作步骤:
4、定位Item如果列表中的Item非常多,还会遇到一个情况,我想列表直接跳转到我想要选择的相应Item的那一页,而不是我一行行慢慢去找,这也是非常影响用户体验的一个小功能实际的代码也很简单,我增加了一个TextBox来输入想要查询的Item,和一个Button来触发定位功能。
int index= this.checkedListBox1.FindString(this.textBox1.Text); this.checkedListBox1.SelectedIndex = index;
实际的效果可以看动图:
这里也有个需要注意的点,官方文档中,对FindString的定义是:查找 ListBox 中以指定字符串开始的第一个项所以,FindString返回的index是列表中出现的第一个指定Item的索引,如果列表中有多个相同的Item,这个时候定位功能可能就不是很适合用了。
所以,如果想要列表中的Item是唯一的,在初始化数据的时候,就要增加一个是否重复的判断以上方式都是小编的一点拙见,如果各位有什么更好的方法,欢迎评论区指正小编感激不尽~如果各位觉得我写的对你有那么一点点帮助,可以随手点一下关注,之后我会继续努力的。
- 标签:
- 编辑:李松一
- 相关文章
-
事件查看器(事件查看器代码)越早知道越好
最近有windows7系统用户反映,WIN7电脑蓝屏开机代码0x0000000074是什么原因?怎么修复?以下是小编为大家搜索整理的win7电脑…
-
在线攒机(在线攒机哪个软件好)快来看
很多玩家在攒机时首先遇到的问题就是选I平台还是A平台,早期游戏玩家说的intel适合玩游戏,AMD平台BUG多其实早就不适用了,经过…
- 在线攒机(在线攒机哪个软件好)这都可以
- 机柜尺寸(阳台洗衣机柜尺寸)学到了
- 启动项命令(添加启动项命令)奔走相告
- insert键在哪(insert键在哪笔记本)学到了吗
- 鼠标中键(鼠标中键怎么按)满满干货