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;
}
相关推荐
lisw0512 分钟前
发酵算法两大应用方向解析
算法·数学建模
BioRunYiXue16 分钟前
使用docker分析高通量测序数据
java·数据库·人工智能·spring cloud·docker·tomcat·html
_oP_i31 分钟前
Windows 11 家庭中文版 25H2
c#
unicrom_深圳市由你创科技37 分钟前
电池化成曲线MES追溯:关键点提取与验证
c#
老王IT43 分钟前
C#语言基础语法介绍
开发语言·c#
Shaoshing1 小时前
缓存一致问题及常见解决方案
java·缓存
动词ing1 小时前
【题目练习】全排列
算法
聚美智数1 小时前
文档转换 API‑文档转 PDF‑PDF 转文档‑异步文档处理‑文件格式迁移‑转换结果回调推送 API 接口介绍
android·java·pdf
从零数据分析1 小时前
零基础学SQL 23:和上月比总对不上?LAG/LEAD 一步取出上一次(附 4 个模板)
java·数据库·sql·mysql·oracle·sqlite·database
yuzhiboyouye1 小时前
com.fasterxml.jackson.annotation 里最常用高频的注解,可以按“控制字段、控制格式、控制结构、控制流程”来记
java·开发语言