2011-09-11 27 views
0

我有一個包含一堆對象的列表,然後將列表的內容添加到列表框控件中。我的問題是,如何刪除列表中的當前項目,然後刪除列表框中的當前項目?C#刪除列表框中的當前項目

+0

WPF或WinForms的?請編輯問題並添加標籤 –

+1

@Merlyn你有沒有看過一個noob用戶提出一個C#GUI問題,而不是說它關於實際上是WPF問題的WPF?它的winforms! – Nahum

+3

@Nahum:無論你是否正確,丹應該加入他的問題。 –

回答

0

你可以得到所選擇的指數的selectedindex_changed事件處理程序,該指數在刪除該對象並重新填充列表框

int index = listbox.SelectedIndex(); 
listThatHoldsObjects.RemoveAt(index); 
listbox.ItemsSource = listThatHoldsObjects 
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"); 
+0

刪除選定的項目更容易... bindingList.Remove(listBox1.SelectedValue); –

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);