C# 如何循环检查checkedlistbox并删除c中的选定项#

C# 如何循环检查checkedlistbox并删除c中的选定项#,c#,loops,checkedlistbox,C#,Loops,Checkedlistbox,在我的应用程序中,用户可以在选中的列表框中添加一些项目,然后用户选择一些元素并单击按钮“删除”。如何循环通过我的选中列表框并删除所选项目?您可以检查选中项目的计数,并按如下所示在循环中删除 while (checkedListBox1.CheckedItems.Count > 0) { checkedListBox1.Items.Remove(checkedListBox1.CheckedItems[0]); } 或 试试看。它是工作代码 for (int i = 0; i <

在我的应用程序中,用户可以在
选中的列表框中添加一些项目,然后用户选择一些元素并单击按钮“删除”。如何循环通过我的
选中列表框
并删除所选项目?

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

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


试试看。它是工作代码

for (int i = 0; i < CheckBoxList1.Items.Count; i++)
{
    if (CheckBoxList1.Items[i].Selected)
    {
         CheckBoxList1.Items.RemoveAt(i);
         i--;
     }
}   
for(int i=0;i
从这些元素列表中删除某些元素的诀窍是反向遍历列表-从计数1到0。这样,当您删除一个元素时,您仍然关心的其余元素的索引没有更改。

是否可以循环检查checkedlistbox并选中,如果选中项-删除它?如果要循环并删除,请不要使用
foreach
,它将不起作用,您也可以使用for循环,但从最后一个到第一个删除项。错误1“object”不包含“Selected”的定义,并且找不到接受“object”类型的第一个参数的扩展方法“Selected”(是否缺少using指令或程序集引用?),谢谢!我花了3个小时!有很多奇怪的checkedListBox。。。但在for语句中用分号代替comas。这是c#可能有人会使用它。错误1“object”不包含“Selected”的定义,并且找不到接受“object”类型的第一个参数的扩展方法“Selected”(是否缺少using指令或程序集引用?),如果两个选定项是一个接一个的,则跳过第二个。
for (int i = 0; i < CheckBoxList1.Items.Count; i++)
{
    if (CheckBoxList1.Items[i].Selected)
    {
         CheckBoxList1.Items.RemoveAt(i);
         i--;
     }
}