2014-01-04 5 views
-1

Я просто хочу, чтобы удалить элемент из ListBox, когда пользователь нажимает на нее, я использую:Удаление элемента из ListBox, когда пользователь нажимает на нее

private void found_SelectedIndexChanged(object sender, EventArgs e) 
    { 
     found.SelectedItems.Remove(found.SelectedItem); 
    } 

Но это только показывает мерцание выбора и ничего больше! Предположим, у меня есть список, как:

word1 
    word2 
    word3 
    word4 

находятся в ListBox и когда пользователь нажимает на word2 он должен быть удален! Я новичок в C# может кто-нибудь дать мне представление, как это сделать заблаговременно!

+0

необходимо удалить его из 'DataSource' вашего' ListBox'. –

+0

Возможный дубликат http://stackoverflow.com/questions/7102681/how-to-remove-selected-item-from-listbox-c-sharp?rq=1 –

ответ

0
found.Items.Remove(found.SelectedItem); 
+0

Я пробовал, но не работал, и теперь он начинает работать отличная работа – user3154778

1

Потому что вы удалили его с SelectedItems (удаление выбора, а не самого элемента). Вместо этого вы хотите удалить из Items.

0

Предположив вы храните источник данных вашего ListBox в родовом List<string>. когда пользователь нажимает на элемент, удалите его из источника данных, а затем выполните следующие действия: -

private void Item_Clicked(object sender, EventArgs e) 
    { 
     string item = listBox.SelectedItem.ToString() ; 
     list_name = list_name.Where(x=> 
                { 
                 if(x != item) 
                 return true ; 
                 else 
                 return false ; 
                }.ToList() ; 
     listBox.DataSource = null ; 
     listBox.DataSource = list_name; 
     // listBox is the name of your `ListBox`. 
     // list_name is your original list. 
    } 

ОБЪЯСНЕНИЕ: -
Сначала я хранить значение «Selected Item» говорят WORD2 в переменной с именем как item.
Затем я транслирую все содержимое предыдущего списка в другой список, используя LINQ.
После этого я меняю DataSource вашего ListBox, чтобы он обновлялся.

0
if(found.SelectedIndex <> -1) 
    found.Items.RemoveAt(found.SelectedIndex); 
Смежные вопросы