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;
}
相关推荐
Seven971 分钟前
剑指offer-24、二叉树中和为某一值的路径(一)
java
秋秋棠6 分钟前
AI 应用开发:从 Prompt 工程到实战应用开发
java·人工智能
jokr_16 分钟前
C++ 字符串与内存操作函数深度解析
java·开发语言·c++
编啊编程啊程22 分钟前
JUC之结构化并发编程(Java24 JEP499)
java
不知名。。。。。。。。2 小时前
算法 ---哈希表
数据结构·算法·散列表
yi.Ist3 小时前
图论——Floyd算法
c++·算法·图论·floyd
BD_Marathon6 小时前
【Flink】部署模式
java·数据库·flink
鼠鼠我捏,要死了捏9 小时前
深入解析Java NIO多路复用原理与性能优化实践指南
java·性能优化·nio
CodeCraft Studio9 小时前
3D文档控件Aspose.3D实用教程:使用 C# 构建 OBJ 到 U3D 转换器
开发语言·3d·c#·3d渲染·aspose·3d文件格式转换·3d sdk
ningqw9 小时前
SpringBoot 常用跨域处理方案
java·后端·springboot