从链接列表中删除项目不会将其从ListBox中删除

时间:2017-05-11 15:43:30

标签: .net vb.net winforms listbox

我将对象列表链接到ListBox控件,我想通过按下按钮将项目从ListBox切换到另一个:

ListBox3.DataSource = testsToRunList
ListBox3.DisplayMember = "Name"
ListBox3.ValueMember = "ID"

ListBox4.DataSource = testsToIgnoreList
ListBox4.DisplayMember = "Name"
ListBox4.ValueMember = "ID"

...

Private Sub SendDownButton_Click(sender As Object, e As EventArgs) Handles SendDownButton.Click
  Dim myobj = ListBox3.SelectedItem

  testsToRunList.Remove(myobj)
  testsToIgnoreList.Add(myobj)

  ' ListBox3.Refresh()
  ' ListBox4.Refresh()
End Sub

更改链接列表中的项目不会影响ListBox控件的内容。如何确保我的ListBoxe内容反映了我链接列表中的内容?

1 个答案:

答案 0 :(得分:2)

List(Of T)类不会引发数据绑定所需的事件,以便在修改列表时更新控件。通过BindingSource绑定并调用适当的方法来重置绑定控件或使用BindingList(Of T)代替。