当前位置: 首页 > news >正文

C# CHECKEDLISTBOX控件用法总结(怎样得到多选的值)

一般认为:foreach (object obj in checkedListBox1.SelectedItems)即可遍历选中的值。
其实这里遍历的只是高亮的值并不是打勾的值。遍历打勾的值要用下面的代码:
for ( int i =  0; i < checkedListBox1.Items.Count; i++)
{
     if (checkedListBox1.GetItemChecked(i))
    {
        MessageBox.Show(checkedListBox1.GetItemText(checkedListBox1.Items[i]));
    }
}
参考:
最近用到checklistbox控件,在使用其过程中,花了较多的时间,这里我收集了其相关的代码段,希望对大家有所帮助。
1.
添加项
checkedListBox1.Items.Add( " 蓝色 "); 
checkedListBox1.Items.Add( " 红色 "); 
checkedListBox1.Items.Add( " 黄色 ");
 
2
判断第i项是否选中,选中为true,否则为false
if(checkedListBox1.GetItemChecked(i))
{
      return  true;

else
{
      return  false
}
 
3
设置第i项是否选中
checkedListBox1.SetItemChecked(i,  true);   // true改为false为没有选中。
 
4
设置全选 
添加一个名为select_all的checkbox控件,由其控制checkedListBox是全选还是全不选。
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.
得到全部选中的值 ,并将选中的项的文本组合成为一个字符串。
  string strCollected =  string.Empty;
  for ( int i =  0; i < checkedListBox1.Items.Count; i++)
 {
       if (checkedListBox1.GetItemChecked(i))
      {
           if (strCollected ==  string.Empty)
          {
               strCollected = checkedListBox1.GetItemText(
checkedListBox1.Items[i]);
          }
           else
          {
               strCollected = strCollected +  " / " + checkedListBox1.
GetItemText(checkedListBox1.Items[i]);
           }
       }
}
 
 
6
设置CheckedListBox中第i项的Checked状态
checkedListBox1.SetItemCheckState(i, CheckState.Checked);
 
 
7
private  void checkBoxAll_CheckedChanged( object sender, EventArgs e) 

      if (checkBoxAll.Checked) 
     { 
          // 被选择了则将CheckedListBox中的所有条目都变为Checked状态 
          for ( int i =  0; i < checkedListBoxLayerControl.Items.Count;
                   i++) 
         {     
checkedListBoxLayerControl.SetItemCheckState(i, 
        CheckState.Checked); 

}
else 

      // 否则变成Unchecked状态 
     for ( int i =  0;
 i < checkedListBoxLayerControl.Items.Count; i++) 
{
checkedListBoxLayerControl.SetItemCheckState(i, CheckState.Unchecked); 
}              
}
}

8
checkedListBox 单选设置(代码实现)
private  void chkl_ItemAuditing_ItemCheck( object sender,   
ItemCheckEventArgs e)

      if (chkl_ItemAuditing.CheckedItems.Count >  0
    { 
          for ( int i =  0; i < chkl_ItemAuditing.Items.Count; i++) 
         {
if (i != e.Index) 

this.chkl_ItemAuditing.SetItemCheckState(i, 
System.Windows.Forms.CheckState.Unchecked); 



}

9
checkedListBox1显示一个数据库中关键字对应的所有记录
for ( int i =  0; i < table.Rows.Count; i++) 

     string name = table.Rows[ " myname "].ToString(); 
     string paw = table.Rows[ " mypaw "].ToString(); 
    checkedListBox1.Items.Add(name + paw); 
}
 
10
for(i= 0;i<CheckedListBox.Items.Count;i++)   
{   
    if(CheckedListBox.GetItemText(
CheckedListBox.Items)== " 你得到的值 ")   
{   
      CheckedListBox.SetItemChecked(i, true);   
}   
}
 
11
清除checkedListBox1中所有的选项
for ( int i =  0; i < checkedListBox1.Items.Count; i++)
{
    checkedListBox1.Items.Clear();
}
 
12
// 设置索引为index的项为选中状态
for ( int i =  0; i < checkedListBox1.Items.Count; i++) 
{
    checkedListBox1.SetItemChecked(i,  true);

 
13.   
for ( int i =  0; i < checkedListBox1.Items.Count; i++) 
{
if (checkedListBox1.GetSelected(i)) 
{
MessageBox.Show(checkedListBox1.CheckedItems.ToString());
}
}
 
14.
// 选中checkedListBox1所有的选项
 
for ( int i =  0; i < checkedListBox1.Items.Count; i++)         
{
checkedListBox1.SetItemCheckState(i, CheckState.Checked);
}
 
15.             
for ( int i =  0; i < checkedListBox1.Items.Count; i++) 
{  
// 如果checkedListBox1的第i项被选中,
// 则显示checkedListBox1对应的值
if (checkedListBox1.GetItemChecked(i)) 

     MessageBox.Show(checkedListBox1.Items.ToString()); 
}
}
 
16
// 反向选择checkedListBox1的选项
for ( int i =  0; i < checkedListBox1.Items.Count; i++) 

     if (checkedListBox1.GetItemChecked(i)) 
   { 
       checkedListBox1.SetItemChecked(i,  false); 
   } 
    else 
   { 
       checkedListBox1.SetItemChecked(i,  true); 
   } 
}

17
// checkedListBox1中选定的项->checkedListBox2
for ( int i =  0; i < checkedListBox1.CheckedItems.Count; i++) 

     checkedListBox2.Items.Add( this.checkedListBox1.CheckedItems);
 
// remove是除去一个具体的值,不是index,注意了
      this.checkedListBox1.Items.Remove(
          this.checkedListBox1.CheckedItems);       
}
from: http://dotnet.5d6d.com/thread-486-1-1.html

转载于:https://www.cnblogs.com/greatverve/archive/2011/11/08/CHECKEDLISTBOX.html

相关文章:

  • CDP
  • 浅谈电池和充电方面的知识
  • Android 开发 数据结构理解 队列和栈 分析及实现
  • LINQ:是BUG还是~~~
  • JQuery之ContextMenu(右键菜单)
  • cisco路由器乱码的解决办法
  • 这个季节的忧伤,点到为止
  • DHCP Snooping + Dynamic ARP Inspection配置
  • iphone 如何将数据存储到plist(属性列表文件)中
  • *** 2003
  • Oracle认证:Oracle10g恢复试验方法
  • 程序员的职业道德
  • 【算法导论】贪心算法,递归算法,动态规划算法总结
  • 淘宝web服务器tengine
  • 【转载】NuGet 是个什么玩意?
  • Android 架构优化~MVP 架构改造
  • Android路由框架AnnoRouter:使用Java接口来定义路由跳转
  • angular2开源库收集
  • CoolViewPager:即刻刷新,自定义边缘效果颜色,双向自动循环,内置垂直切换效果,想要的都在这里...
  • docker容器内的网络抓包
  • Java深入 - 深入理解Java集合
  • Laravel 菜鸟晋级之路
  • Netty源码解析1-Buffer
  • PHP 小技巧
  • Python 使用 Tornado 框架实现 WebHook 自动部署 Git 项目
  • Three.js 再探 - 写一个跳一跳极简版游戏
  • web标准化(下)
  • Web标准制定过程
  • 分布式任务队列Celery
  • 那些被忽略的 JavaScript 数组方法细节
  • 前端知识点整理(待续)
  • 前嗅ForeSpider中数据浏览界面介绍
  • 区块链将重新定义世界
  • 事件委托的小应用
  • 一道闭包题引发的思考
  • 智能合约Solidity教程-事件和日志(一)
  • ​什么是bug?bug的源头在哪里?
  • # Pytorch 中可以直接调用的Loss Functions总结:
  • #define,static,const,三种常量的区别
  • #Z2294. 打印树的直径
  • (12)Hive调优——count distinct去重优化
  • (3)STL算法之搜索
  • (C语言)二分查找 超详细
  • (Java)【深基9.例1】选举学生会
  • (Mirage系列之二)VMware Horizon Mirage的经典用户用例及真实案例分析
  • (SpringBoot)第七章:SpringBoot日志文件
  • (分布式缓存)Redis持久化
  • (附源码)spring boot校园拼车微信小程序 毕业设计 091617
  • (附源码)springboot青少年公共卫生教育平台 毕业设计 643214
  • (汇总)os模块以及shutil模块对文件的操作
  • (南京观海微电子)——I3C协议介绍
  • (三)centos7案例实战—vmware虚拟机硬盘挂载与卸载
  • (十一)手动添加用户和文件的特殊权限
  • (一)appium-desktop定位元素原理
  • .Family_物联网