C#高级:Winform桌面开发中CheckedListBox的详解

一、基础设置

单击触发选择效果:需要选择下面这个为True

二、代码实现

1.设置数据源

cs 复制代码
/// <summary>
/// 为CheckBoxList设置数据源
/// </summary>
/// <param name="checkedListBox1"></param>
/// <param name="data"></param>
private void SetCheckListSource(CheckedListBox checkedListBox1, List<string> data)
{
    foreach (var item in data)
    {
        checkedListBox1.Items.Add(item);
    }
}

2.设置全选和取消全选

cs 复制代码
/// <summary>
/// 全选和取消全选(True=全选)
/// </summary>
private void SetCheckListAllStatus(CheckedListBox checkedListBox1, bool v)
{
    for (int i = 0; i < checkedListBox1.Items.Count; i++)
    {
        checkedListBox1.SetItemChecked(i, checkBox1.Checked);
    }
}

3.获取选中项目和非选中项目

cs 复制代码
/// <summary>
/// 获取CheckedListBox数据(True=获取选中的项目,False=获取未选中的项目)
/// </summary>
private List<string> GetCheckedListBoxData(CheckedListBox checkedListBox1, bool isSelect=true)
{
    List<string> result = new List<string>();

    for (int i = 0; i < checkedListBox1.Items.Count; i++)
    {
        bool isChecked = checkedListBox1.GetItemChecked(i);

        // 根据 isSelect 的值来决定是获取选中的项目还是未选中的项目
        if (isSelect)
        {
            if (isChecked)
                result.Add(checkedListBox1.Items[i].ToString());
        }
        else
        {
            if (!isChecked)
                result.Add(checkedListBox1.Items[i].ToString());
        }
    }
    return result;
}
相关推荐
曹牧1 天前
Eclipse为方法添加注释
java·ide·eclipse
我叫张小白。1 天前
Spring Boot拦截器详解:实现统一的JWT认证
java·spring boot·web·jwt·拦截器·interceptor
Gerardisite1 天前
如何在微信个人号开发中有效管理API接口?
java·开发语言·python·微信·php
gfdhy1 天前
【c++】哈希算法深度解析:实现、核心作用与工业级应用
c语言·开发语言·c++·算法·密码学·哈希算法·哈希
闲人编程1 天前
Python的导入系统:模块查找、加载和缓存机制
java·python·缓存·加载器·codecapsule·查找器
百***06011 天前
SpringMVC 请求参数接收
前端·javascript·算法
Eiceblue1 天前
通过 C# 将 HTML 转换为 RTF 富文本格式
开发语言·c#·html
故渊ZY1 天前
Java 代理模式:从原理到实战的全方位解析
java·开发语言·架构
匿者 衍1 天前
POI读取 excel 嵌入式图片(支持wps 和 office)
java·excel
一个尚在学习的计算机小白1 天前
java集合
java·开发语言