CheckedListBoxControl 实现复选框的单选与多选功能
由于工作需要,需要实现复选框的单选与多选功能,找了好多资料都不是很全,经过两天苦苦的挖挖挖,终于完成啦O(∩_∩)O哈哈~
用DEV控件中的CheckedListBoxControl控件,当然VS中的复选框组合控件应该按照下面方法也可以实现该功能,可以试下(⊙o⊙)哦
代码来啦O(∩_∩)O哈哈~
1 //首先触发SelectedIndexChanged事件,然后再触发ItemCheck事件 2 3 //存储选中的复选框的值 4 string strGXY=string.Empty; 5 private void chkGXYGrade_SelectedIndexChanged(object sender, EventArgs e) 6 { 7 8 //先把所有的选择框的状态都置为不选中的状态 9 for (int i = 0; i < chkGXYGrade.Items.Count; i++) 10 { 11 chkGXYGrade.SetItemCheckState(i, CheckState.Unchecked); 12 } 13 } 14 15 private void chkGXYGrade_ItemCheck(object sender, DevExpress.XtraEditors.Controls.ItemCheckEventArgs e) 16 { 17 //如果复选框选中的数目大于0,把选中的复选框的索引和e.Index(获取的当前选中点击的复选框的索引)比较,如果相等就把该复选框选中,否则置为非选中状态 18 if (chkGXYGrade.CheckedItems.Count > 0) 19 { 20 for (int i = 0; i < chkGXYGrade.Items.Count; i++) 21 { 22 if (i != e.Index) 23 { 24 chkGXYGrade.SetItemCheckState(i, CheckState.Unchecked); 25 } 26 } 27 } 28 else 29 { 30 31 //如果复选框选中的数据小于0 ,则把所有的复选框的状态都置为未选中的状态 32 for (int i = 0; i < chkGXYGrade.Items.Count; i++) 33 { 34 35 chkGXYGrade.SetItemCheckState(i, CheckState.Unchecked); 36 strGXY = string.Empty; 37 } 38 39 } 40 41 42 //循环复选框,根据选中的状态来获取选中的复选框的值 43 for (int i = 0; i < chkGXYGrade.Items.Count; i++) 44 { 45 if (chkGXYGrade.Items[i].CheckState == CheckState.Checked) 46 { 47 strGXY = chkGXYGrade.GetItemText(i).ToString(); 48 } 49 } 50 }
级别只能选择一个事件
1 //记录复选框选中的状态 2 CheckState csGXB; 3 4 //存储复选框选中的值(多选以‘/’区分 ) 5 string strGXB = string.Empty; 6 7 //先触发SelectedIndexChanged事件,再触发ItemCheck事件 8 private void chbGXBlb_SelectedIndexChanged(object sender, EventArgs e) 9 { 10 switch (csGXB) 11 { 12 case CheckState.Checked: 13 14 strGXB = string.Empty; 15 for (int i = 0; i < chbGXBlb.Items.Count; i++) 16 { 17 //获取选中的复选框的值 18 if (chbGXBlb.GetItemChecked(i)) 19 { 20 if (strGXB == string.Empty) 21 { 22 strGXB = chbGXBlb.GetItemText(i); 23 } 24 else 25 { 26 strGXB += "/" + chbGXBlb.GetItemText(i); 27 } 28 } 29 } 30 break; 31 case CheckState.Unchecked: 32 strGXB = string.Empty; 33 for (int i = 0; i < chbGXBlb.Items.Count; i++) 34 { 35 if (chbGXBlb.GetItemChecked(i)) 36 { 37 if (strGXB == string.Empty) 38 { 39 strGXB = chbGXBlb.GetItemText(i); 40 } 41 else 42 { 43 strGXB = strGXB + "/" + chbGXBlb.GetItemText(i); 44 } 45 } 46 } 47 break; 48 49 } 50 51 } 52 53 54 private void chbGXBlb_ItemCheck(object sender, DevExpress.XtraEditors.Controls.ItemCheckEventArgs e) 55 { 56 // e.State,获取当前复选框的选中还是未选中的状态(Checked 或UnChecked) 57 csGXB = e.State; 58 chbGXBlb_SelectedIndexChanged(null, null); 59 }
多选:根据选择改变获取值
转载于:https://www.cnblogs.com/mengzhixingping/p/4465524.html
CheckedListBoxControl 实现复选框的单选与多选功能相关推荐
- 好用的下拉选框(单选,多选,全选,清空和反选,及个种样式)----个人钟爱
下拉选框 如需样例和具体效果,请点击下面的连接. 好用的下拉选框(单选,多选,全选,清空和反选,及个种样式) 附件一:layui应用formselect layui.config({base: './ ...
- js checkbox复选框实现单选功能
本文仅供学习交流使用,demo下载见文末 js checkbox复选框实现单选功能 <script type="text/javascript">$(":ch ...
- 实现复选框的单选效果
<!DOCTYPE> <html> <head> <title>实现复选框的单选效果</title> </head> <b ...
- 分享美化复选框和单选框插件
复选框和单选框是表单中使用非常频繁的组件,但在多数浏览器上显示比较死板, 大家都知道,在Web的Form中美化是最头痛的,尤其是表单中的"input[type=checkbox]" ...
- LayUI实现Checkbox复选框的单选及取消单选,即只能选一个或者全都不选
项目用LayUI进行开发,需求方提出一个范围权限控制的实现方案.在复选框只能单选的前提下,管理员可以取消勾选,查看所有数据,但普通用户由于权限限制,不可以取消勾选. 在查找资料的过程中,发现jq的常用 ...
- jquery实现HTML复选框变单选框
jquery实现HTML复选框变单选框 ps:本人亲测,阿里云2核4G5M的服务器性价比很高,新用户一块多一天,老用户三块多一天,最高可以买三年,感兴趣的可以戳一下:阿里云折扣服务器 <scri ...
- Java学习day078 Swing用户界面组件(四:选择组件)(复选框、单选钮、边框、组合框、滑动条)
使用的教材是java核心技术卷1,我将跟着这本书的章节同时配合视频资源来进行学习基础java知识. day078 Swing用户界面组件(四:选择组件)(复选框.单选钮.边框.组合框.滑动条) 前 ...
- WEB自动化_告警框处理(对话框、确认框、提示框、输入/编辑框、勾选框、单选框、复选框、下拉框)
WEB自动化_下拉框选择(通过元素的value属性选择.下标选择.文本选择) 1. 获取(对话框.确认框.提示框)对象 al = driver.switch_to.alert点击ok 获取文本 点击c ...
- HTML如何设置复选框、单选框以及默认选项?
本篇文章主要给大家介绍HTML怎么设置复选框以及单选框的. 我们在网站开发过程中,有时会需要实现类似调查问卷的功能,那么既然是问卷,就避免不了单选或者多选的情况.对于新手朋友来说,或许不太清楚. 下面 ...
- 如何让checkbox复选框只能单选
如何让checkbox复选框只能单选 在项目开发中遇到一个这样的问题,要让一列复选框架在任何时间段内只能选择一个. 有人说怎么不用单选框了,因为单选框一旦选择了就不能取消选择,所以这里只能用复选框. ...
最新文章
- after exercise
- AI基础:正则表达式
- ripro子主题eeesucai-child集成后台美化包(适用于设计素材站+资源下载站等)
- C++ string 大小写转换
- MTK驱动(75)--- MT6739平台的thermal高温充电机制调整
- 如何做好Web 安全测试
- union[c++] in gamedev
- POJ--3278 Catch That Cow
- remote collaboration on physical tasks 应用
- ResNet网络结构搭建
- 教程 | 做一个自己专属的本地 BLAST 数据库
- 《生如夏花》——泰戈尔
- 中国网络词“no zuo no die”被收入美国俚语词典
- 破解《航海王-燃烧之血》
- PA1.3 代码+笔记
- Cell Reports:任栓成/高东/胡志安/唐玲团队合作揭示压力性失眠发生的神经机制
- 解决VS Community“无法刷新此账户的凭证”和“无法添加此账户”的问题
- eclipes 安装的常用配置
- Poj 1125 Stockbroker Grapevine(Floyd算法求结点对的最短路径问题)
- 为什么摸了一天的鱼,你还是感觉这么累?