Dieses Snippet zeigt die beste Methode, ausgewählte Items einer ListBox zu löschen.
Durch verschiedene Performance-Tests wurde diese Variante erarbeitet.
Beim Durchlaufen der Auflistung der Listbox-Items darf diese nicht verändert werden. Daher ist es nicht möglich, bei diesem Durchlauf die Items gleich zu löschen.
Die Indizes der zu löschenden Items werden daher zunächst in einer Collection gespeichert.
Anschließend werden die Items (in ungekehrter Reihenfolge) aus der Auflistung entfernt.
Public Sub DeletedCheckedItemsInListbox(lb as ListBox)
Dim colDel As New List(Of Integer)
For Each i As Integer In lb.CheckedIndices
colDel.Add(i)
Next
colDel.Reverse()
For Each i As Integer In colDel
lb.Items.RemoveAt(i)
Next
colDel = Nothing
End Sub
6 Kommentare zum Snippet