Удаление эллементов (!) из ListBox
От: Аноним  
Дата: 01.08.06 09:45
Оценка:
Столкнулся с проблемой удаления нескольких (!) выделенных эллементов в ListBox.
Делал так:

foreach (FileInfo o in listbox.SelectedItems)
{
listbox.Items.Remove(o);
}
// В лист вох заносятся объекты типа FileInfo

при этом удаляется только 1-я выделенная строка, потом вызывается ексепшен.

Перебрал кучу вариантов но решения так и не нашёл... Помогите кто знает.


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Удаление эллементов (!) из ListBox
От: Аноним  
Дата: 01.08.06 10:00
Оценка:
Ты вызываешь "для каждого из" коллекции и тут же состав этой коллекции меняешь. Так нельзя.


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Удаление эллементов (!) из ListBox
От: Аноним  
Дата: 01.08.06 10:05
Оценка:
Я делал копию этой коллекции (SelectedItems) и удалал из неё. Эффект тот же.

А как надо?


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Удаление эллементов (!) из ListBox
От: Аноним  
Дата: 01.08.06 10:18
Оценка:
может так попробовать:

While listbox.SelectedItems.Count > 0
listbox.SelectedItems.Remove( listbox.SelectedItems.Item(0))
End While


или

x:
foreach (FileInfo o in listbox.SelectedItems)
{
listbox.Items.Remove(o);
goto x
}


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re: Удаление эллементов (!) из ListBox
От: invisibleshadow Россия  
Дата: 01.08.06 10:23
Оценка:
Здравствуйте, zxmd, Вы писали:

Z>Я делал копию этой коллекции (SelectedItems) и удалал из неё. Эффект тот же.


Z>А как надо?


Z>
данное сообщение получено с www.gotdotnet.ru

Z>ссылка на оригинальное сообщение


скопируй все выделеное в коллекцию, потом проходясь по этой колеекции удаляй каждый элемент из list'а
Re: Удаление эллементов (!) из ListBox
От: AlexAti Украина  
Дата: 01.08.06 12:11
Оценка:
Удалять то что перебираешь в foreach нельзя.

Как вариант:

int _count = listBox.SelectedItems.Count;
for ( int i = 0; i < _count ; i++ )
{
listBox.Items.Remove( listBox.SelectedItems[0] );
}

типа так...
Re: Удаление эллементов (!) из ListBox
От: Аноним  
Дата: 10.08.06 11:41
Оценка:
while (listBox1.SelectedItems.Count>0)
{
listBox1.Items.Remove(listBox1.SelectedItems[0]);
}
Kate


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.