由于工作需要,需要实现复选框的单选与多选功能,找了好多资料都不是很全,经过两天苦苦的挖挖挖,终于完成啦O(∩_∩)O哈哈~

用DEV控件中的CheckedListBoxControl控件,当然VS中的复选框组合控件应该按照下面方法也可以实现该功能,可以试下(⊙o⊙)哦

代码来啦O(∩_∩)O哈哈~

   //首先触发SelectedIndexChanged事件,然后再触发ItemCheck事件

         //存储选中的复选框的值
string strGXY=string.Empty;
private void chkGXYGrade_SelectedIndexChanged(object sender, EventArgs e)
{ //先把所有的选择框的状态都置为不选中的状态
for (int i = ; i < chkGXYGrade.Items.Count; i++)
{
chkGXYGrade.SetItemCheckState(i, CheckState.Unchecked);
}
} private void chkGXYGrade_ItemCheck(object sender, DevExpress.XtraEditors.Controls.ItemCheckEventArgs e)
{
//如果复选框选中的数目大于0,把选中的复选框的索引和e.Index(获取的当前选中点击的复选框的索引)比较,如果相等就把该复选框选中,否则置为非选中状态
if (chkGXYGrade.CheckedItems.Count > )
{
for (int i = ; i < chkGXYGrade.Items.Count; i++)
{
if (i != e.Index)
{
chkGXYGrade.SetItemCheckState(i, CheckState.Unchecked);
}
}
}
else
{ //如果复选框选中的数据小于0 ,则把所有的复选框的状态都置为未选中的状态
for (int i = ; i < chkGXYGrade.Items.Count; i++)
{ chkGXYGrade.SetItemCheckState(i, CheckState.Unchecked);
strGXY = string.Empty;
} } //循环复选框,根据选中的状态来获取选中的复选框的值
for (int i = ; i < chkGXYGrade.Items.Count; i++)
{
if (chkGXYGrade.Items[i].CheckState == CheckState.Checked)
{
strGXY = chkGXYGrade.GetItemText(i).ToString();
}
}
}

级别只能选择一个事件

   //记录复选框选中的状态
CheckState csGXB; //存储复选框选中的值(多选以‘/’区分 )
string strGXB = string.Empty; //先触发SelectedIndexChanged事件,再触发ItemCheck事件
private void chbGXBlb_SelectedIndexChanged(object sender, EventArgs e)
{
switch (csGXB)
{
case CheckState.Checked: strGXB = string.Empty;
for (int i = ; i < chbGXBlb.Items.Count; i++)
{
//获取选中的复选框的值
if (chbGXBlb.GetItemChecked(i))
{
if (strGXB == string.Empty)
{
strGXB = chbGXBlb.GetItemText(i);
}
else
{
strGXB += "/" + chbGXBlb.GetItemText(i);
}
}
}
break;
case CheckState.Unchecked:
strGXB = string.Empty;
for (int i = ; i < chbGXBlb.Items.Count; i++)
{
if (chbGXBlb.GetItemChecked(i))
{
if (strGXB == string.Empty)
{
strGXB = chbGXBlb.GetItemText(i);
}
else
{
strGXB = strGXB + "/" + chbGXBlb.GetItemText(i);
}
}
}
break; } } private void chbGXBlb_ItemCheck(object sender, DevExpress.XtraEditors.Controls.ItemCheckEventArgs e)
{
// e.State,获取当前复选框的选中还是未选中的状态(Checked 或UnChecked)
csGXB = e.State;
chbGXBlb_SelectedIndexChanged(null, null);
}

多选:根据选择改变获取值

CheckedListBoxControl 实现复选框的单选与多选功能的更多相关文章

  1. 【三石jQuery视频教程】02.创建 FontAwesome 复选框和单选框

    视频地址:http://v.qq.com/page/m/8/c/m0150izlt8c.html 大家好,欢迎来到[三石jQuery视频教程],我是您的老朋友 - 三生石上. 今天,我们要通过基本的H ...

  2. Bootstrap 表单和图片 (内联表单,表单合组,水平排列,复选框和单选框,下拉列表,校验状态,添加额外的图标,控制尺寸,图片)

    一.表单 基本格式 注:只有正确设置了输入框的 type 类型,才能被赋予正确的样式. 支持的输入框控件 包括:text.password.datetime.datetime-local.date.m ...

  3. 如何让checkbox复选框只能单选

    function框架div 如何让checkbox复选框只能单选 在项目开发中遇到一个这样的问题,要让一列复选框架在任何时间段内只能选择一个. 有人说怎么不用单选框了,因为单选框一旦选择了就不能取消选 ...

  4. 把复选框变成单选框(prop,attr的区别)

    如果项目中需要统一样式的话,有可能会遇到把复选框变成单选框的需求. 下面是用jquery的简单实现 $(function(){ $("input[type='checkbox']" ...

  5. Jquery学习笔记:操作form表单元素之二(复选框和单选框)

    在上面文章的基础上,我们介绍如何操作表单元素中的 复选框和单选框. 一.复选框 <label> <input type="checkbox" id="i ...

  6. 10个HTML5美化版复选框和单选框

    单选框Radiobox和复选框checkbox在网页中也十分常见,虽然它没有按钮的交互性强,但是如果能把它们像按钮那样美化一下,那也是非常不错的.本文收集了10个相对比较漂亮的美化版单选框和复选框,希 ...

  7. 复选框、单选框样式自定义(https://www.cnblogs.com/freedom-feng/p/11346396.html)

    复选框.单选框样式自定义(https://www.cnblogs.com/freedom-feng/p/11346396.html)复选框html内容如下:<input type="c ...

  8. 通过jquery将多选框变单选框

    多选框的name值为checkboxlist是复选框选中后更换其他复选框状态. function queryListByParam(e){ $("input[name='checkboxli ...

  9. 吾八哥学Selenium(三):操作复选框checkbox/单选框radio的方法

    复选框checkbox和单选框radio是web网站里经常会使用到的两个控件,那么在web自动化测试的时候如何利用Selenium来操作这俩控件呢?今天我们就来简单入门练习一下! html测试页面代码 ...

随机推荐

  1. SeleniumIDE从0到1 (Selenium IDE 回放)

    录制完脚本后可以对录制的脚本进行回放操作. 简介一: 调回放进度(快/慢),点击按钮即可自动进行回放操作.

  2. centos7安装http服务

    1.yum安装http [root@localhost ~]# yum install httpd -y 2.启动http服务 [root@localhost ~]# systemctl start  ...

  3. 逻辑回归算法的原理及实现(LR)

    Logistic回归虽然名字叫"回归" ,但却是一种分类学习方法.使用场景大概有两个:第一用来预测,第二寻找因变量的影响因素.逻辑回归(Logistic Regression, L ...

  4. HDU5795A Simple Nim SG定理

    A Simple Nim Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Tota ...

  5. LookUpEditPopup自动调整宽度

    this.Properties.BestFitMode = BestFitMode.BestFitResizePopup;

  6. 【转】关于phpcms的学习

    在实现PHPCMS网站过程中,根据业务需求,我们遇到很多问题,特此总结如下,以便大家参考学习. [1]PHPCMS V9系统目录简析 在研究所有问题之前,请先了解一下系统的文件目录结构,具体如下图所示 ...

  7. 如何自定义ReportDesigner的向导界面(WIN)

    https://www.devexpress.com/Support/Center/Example/Details/T140683

  8. [转] - Configuring Android Studio: IDE & VM Options, JDK, etc

    Configuring Android Studio: IDE & VM Options, JDK, etc You should not edit any files in the IDE ...

  9. sql:sum(value)与count(letter),当用户不存在时查询到的值

    SELECT sum(value) FROM invoice where username='yueer' SELECT count(letters) FROM invoice where usern ...

  10. gulp 插件

    原文链接:http://www.mamicode.com/info-detail-517085.html gulp是什么? http://gulpjs.com/ 相信你会明白的! 与著名的构建工具gr ...