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

本文关键字:删除 删除列 列表 | 更新日期: 2023-09-27 18:08:19

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

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

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

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

您可以将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");

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

如果你不希望这样,你可以使用:

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