如何从ListBox中删除多个项目?

时间:2010-08-10 01:22:06

标签: c# .net listbox

此代码无效。它不会引发异常,甚至不会做任何可见的事情。

private void RemoveSelectedFiles()
{
    lstPhotos.Items.Remove(lstPhotos.SelectedItems);
}

如何从ListBox中删除所选项?

1 个答案:

答案 0 :(得分:1)

您必须一次删除一个项目。

编辑 - 正如@Smith指出的那样,代码会引发异常,因为ListBox.SelectedItems绑定到Items集合。从Items中移除所选项目也会有效地将其从SelectedItems中删除,从而破坏了枚举。现在我们枚举一个包含所选项目的独立列表:

private void RemoveSelectedFiles()
{
    var selectedItems = new List<object>(lstPhotos.SelectedItems);

    foreach (object item in selectedItems) 
        lstPhotos.Items.Remove(item);
}