Chcę to zrobić, ale listbox zmienia się przy każdym usunięciu, więc rzuca wyjątek środowiska wykonawczego, nawet jeśli próbowałem zrobić nowy obiekt.Usuń wybrane elementy z listy na liście
Próbowałem tak:
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");
Tak, to jest to! Dziękuję Ci! tylko mała korekta: dla (int i = selectedItems.Count - 1; i> = 0; ** i - **) – Cristo
Ups, good eye, thanks! –
Może istnieć mały błąd, jeśli element istnieje dwa razy na liście elementów i wybierany jest tylko drugi. Myślę, że pierwszą można usunąć. Rozwiązanie z Items.RemoveAt (i) może być nieco lepsze. Ale ważniejsze będzie również odwrócenie iteracji! – Pieter21