我想这样做,但是,列表框会在每次删除时发生变化,所以即使我试图做一个新对象,它也会抛出运行时异常。从列表框中删除选定的项目
我想是这样的:
ListBox.SelectedObjectCollection selectedItems = new ListBox.SelectedObjectCollection(lstClientes);
selectedItems = lstClientes.SelectedItems;
if (lstClientes.SelectedIndex != -1)
{
foreach (string s in selectedItems)
lstClientes.Items.Remove(s);
}
else
MessageBox.Show("Debe seleccionar un email");
是的,就是这样!谢谢! 只是一个小小的更正: for(int i = selectedItems.Count - 1; i> = 0; ** i - **) – Cristo
哎呀,好眼睛,谢谢! –
如果一个项目在项目列表中存在两次,并且只有第二个项目被选中,那么可能会有一个小错误。我认为第一个可能会被删除。 Items.RemoveAt(i)的解决方案可能稍好一些。但是将迭代逆转也更重要! – Pieter21