我想這樣做,但是,列表框會在每次刪除時發生變化,所以即使我試圖做一個新對象,它也會拋出運行時異常。從列表框中刪除選定的項目
我想是這樣的:
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