如何在c#中循环遍历checklistbox并删除选中的项目

本文关键字:删除 项目 checklistbox 遍历 循环 | 更新日期: 2023-09-27 18:12:17

在我的应用程序中,用户可以在checkedlistbox中添加一些项目,然后用户选择一些元素并单击"删除"按钮。我如何遍历checkedListBox并删除选定的项目?

如何在c#中循环遍历checklistbox并删除选中的项目

您可以检查选中项的计数并删除while循环,如下所示

while (checkedListBox1.CheckedItems.Count > 0) {
   checkedListBox1.Items.Remove(checkedListBox1.CheckedItems[0]);
}

int lastIndex =checkedListBox1.Items.Count-1;
for(int i=lastIndex ; i>=0 ; i--)
{
    if (checkedListBox1.GetItemCheckState(i) == CheckState.Checked)
    {
             checkedListBox1.Items.RemoveAt(i);
    }
}

试试。它是工作代码

for (int i = 0; i < CheckBoxList1.Items.Count; i++)
{
    if (CheckBoxList1.Items[i].Selected)
    {
         CheckBoxList1.Items.RemoveAt(i);
         i--;
     }
}   

从这些元素的列表中删除某些元素的技巧是反向遍历列表——从count-1到0。这样,当您删除一个元素时,您仍然关心的其余元素的索引没有改变。