C# CheckedListBox控件的用法总结

作者:麦田怪人 时间:2023-09-17 13:23:34 

一般认为: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);

来源:http://www.cnblogs.com/maijin/archive/2012/12/13/2816194.html

标签:c#,checkedlistbox
0
投稿

猜你喜欢

  • C#中DataGridView的样式

    2022-04-23 11:08:42
  • Android开发实现Launcher3应用列表修改透明背景的方法

    2023-09-28 08:45:27
  • Android自定义scrollView实现顶部图片下拉放大

    2021-05-26 09:55:36
  • Spring实战之方法级别缓存用法示例

    2022-10-20 02:00:32
  • SpringBoot如何整合redis实现过期key监听事件

    2023-08-04 18:51:19
  • 深入理解java重载和重写

    2022-09-28 12:19:32
  • Kotlin 嵌套函数开发技巧详解

    2021-12-16 08:05:49
  • java Timer测试定时调用及固定时间执行代码示例

    2023-12-09 14:36:44
  • Android MessageQueue消息队列主要作用详解

    2021-11-11 15:25:39
  • Android 中倒计时验证两种常用方式实例详解

    2022-08-29 04:44:41
  • Java实现树形List与扁平List互转的示例代码

    2023-03-15 00:18:23
  • Android简单实现弹幕效果

    2022-08-12 01:24:08
  • C#中WPF使用多线程调用窗体组件的方法

    2023-04-24 11:47:57
  • Java实现按比抽奖功能

    2023-11-11 13:12:30
  • java中的HashMap多层嵌套

    2023-11-27 07:34:52
  • 解决VSCode调试react-native android项目错误问题

    2023-10-14 02:02:11
  • C#使用Resources资源文件

    2023-07-04 08:42:48
  • C#实现将字符串转换成日期格式的方法

    2021-07-18 06:19:11
  • Java运行时数据区域(内存划分)的深入讲解

    2023-03-16 02:36:50
  • 详解App保活技术实现

    2023-05-24 18:06:26
  • asp之家 软件编程 m.aspxhome.com