如何遍历checkedlistbox并删除c#中的选定项

时间:2013-05-04 03:37:20

标签: c# loops checkedlistbox

在我的应用中,用户可以在checkedlistbox中添加一些项目,然后用户选择一些元素,然后点击按钮“删除”。如何循环浏览checkedListBox并删除所选项?

3 个答案:

答案 0 :(得分:2)

您可以检查已检查项目的数量,并在while循环中删除,如下所示

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

OR

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

答案 1 :(得分:1)

试试吧。这是工作代码

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

答案 2 :(得分:0)

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