无法从ListBox中删除项目

时间:2010-08-10 02:45:48

标签: c# listbox

尝试运行此方法时出现错误:

此枚举器绑定的列表已被修改。只有在列表没有更改时才能使用枚举器。

foreach (var item in lstPhotos.SelectedItems)
{
    lstPhotos.Items.Remove(item);
}

如何删除所选项?

2 个答案:

答案 0 :(得分:4)

while(lstPhotos.SelectedItems.Count != 0)
{
    lstPhotos.Items.Remove(lstPhotos.SelectedItems[0]);
}

答案 1 :(得分:2)

foreach循环不允许您修改枚举的集合。如果你需要修改集合,请使用for循环。

编辑:

我将离开上面的原始答案,但在编码时,由于SelectedItems属性的动态长度,显然while循环更适合此问题。

while(lstPhotos.SelectedItems.Length > 0)
{
    lstPhotos.Items.Remove(lstPhotos.SelectedItems[0];
}