20230209 checklistbox 使用小结

1)check和select的两个是不同的需要注意;

2)默认情况下,点击一次是select,再次点击才是check;可以通过修改配置项修改 clbFreqList.CheckOnClick = true;//默认单击就是选中

可以添加,删除,全选;

a)添加比较简单;clbFreqList.Items.Add(freq.ToString("F3"));//freq 要添加的数据

b)设置为选中,这里是全选;如果有自己的条件可以根据自己条件进行选择

        for (int i = 0; i < clbFreqList.Items.Count; i++)
        {
            clbFreqList.SetItemCheckState(i,CheckState.Checked);
            clbFreqList.SetItemChecked(i, true);
            Console.WriteLine(clbFreqList.Items[i].ToString());
        }

c)删除,删除操作是比较麻烦的,你需要将现有的遍历一遍获取器idx,然后反向逐个删除,正向删除的时候会出现异常

    // 创建一个列表来存储要删除的项的索引  
    List<int> indicesToDelete = new List<int>();

    // 遍历CheckedListBox中的所有项,找出被选中的项  
    for (int i = 0; i < clbFreqList.Items.Count; i++)
    {
        // 如果当前项被选中,则添加到要删除的索引列表中  
        if (clbFreqList.GetItemChecked(i))
        {
            indicesToDelete.Add(i);
        }
    }

    // 从后往前遍历索引列表来删除项,以避免索引变化导致的问题  
    for (int i = indicesToDelete.Count - 1; i >= 0; i--)
    {
        int index = indicesToDelete[i];
        // 移除选中的项  
        clbFreqList.Items.RemoveAt(index);
    }

另外单纯遍历选中的,或者全部选中的

         for (int i = 0; i < clbFreqList.Items.Count; i++)
         {

             Console.WriteLine(clbFreqList.Items[i].ToString());
         }
         Console.WriteLine("*********************");
         foreach (var item in clbFreqList.CheckedItems)
         {
             item.ToString();
             Console.WriteLine(item.ToString());
         }

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值