4

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

4

3 回答 3

3

您可以检查检查项目的数量并在 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);
    }
}
于 2013-05-04T03:40:58.917 回答
1

试试看。这是工作代码

for (int i = 0; i < CheckBoxList1.Items.Count; i++)
{
    if (CheckBoxList1.Items[i].Selected)
    {
         CheckBoxList1.Items.RemoveAt(i);
         i--;
     }
}   
于 2013-05-04T04:20:32.703 回答
0

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

于 2013-05-04T14:09:24.387 回答