C#删除列表框中的当前项

时间:2011-09-11 09:38:38

标签: c# list listbox

我有一个包含一堆对象的List,然后将列表的内容添加到listbox控件中。我的问题是,如何删除列表中的当前项目,这将删除列表框中的当前项目?

3 个答案:

答案 0 :(得分:0)

您可以在selectedindex_changed事件处理程序中获取所选索引,删除该索引处的对象并重新填充列表框

int index = listbox.SelectedIndex();
listThatHoldsObjects.RemoveAt(index); 
listbox.ItemsSource = listThatHoldsObjects

答案 1 :(得分:0)

您可以BindingList<object>将其绑定到列表,并将对象List<object>列表与此BindingList相关联。从BindingList移除项目后,它会从ListListBox

中删除相同的项目
List<object> list = new List<object>();
list.Add("test");
list.Add("test1");

BindingList<object> bindingList;
bindingList = new BindingList<object>(list);            

listBox1.DataSource = bindingList;

bindingList.Remove("test");

答案 2 :(得分:0)

考虑使用BindingList<T>类(found here)并将其绑定到ListBox

如果您不想这样,您可以随时使用:

ListBox lb = new ListBox();
List<object> list = new List<object>();
list.RemoveAt(lb.SelectedIndex);
lb.Items.RemoveAt(lb.SelectedIndex);