我能夠獲得添加到BindingList的項目的索引。當我試圖讓索引,如果刪除的項目出現錯誤從綁定列表中獲取已刪除項目的索引
Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index
這裏是我的代碼
Private Sub cmdRemove_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdRemove.Click
For i As Integer = 0 To _assignedSelection.SelectedCount - 1
Dim item As Jurisdiction = CType(_assignedSelection.GetSelectedRow(i), Jurisdiction)
_list.Remove(item)
Next
End Sub
Private Sub list_Change(ByVal sender As Object, ByVal e As ListChangedEventArgs) Handles _list.ListChanged
If (_list.Count > 0) Then
Select Case e.ListChangedType
Case ListChangedType.ItemAdded
_dal.InsertJurisdiction(_list.Item(e.NewIndex))
Case ListChangedType.ItemDeleted
'MsgBox(e.NewIndex.ToString)
_dal.DeleteJurisdiction(_list.Item(e.NewIndex)) <--------HERE
End Select
End If
End Sub
編輯:在C#的答案,也歡迎任何人....?
這是一個記錄了幾個解決方法的錯誤(如peterchen友好提供的)! http://link.microsoft.com/VisualStudio/feedback/details/148506/listchangedtype-itemdeleted-is-useless-because-listchangedeventargs-newindex-is-already-gone – Harrison 2011-02-22 18:03:09
@哈里森:感謝您的連接鏈接! – peterchen 2011-02-22 19:24:54
這個事件的主要目的是傳達UI控件應該刪除的位置。 – 2016-09-05 09:37:44