从列表框中删除多个或单个项目

时间:2014-07-24 16:19:41

标签: vb.net

我创建了一个列表框,目前我正在尝试使用此代码删除一个项目或多个项目:

Private Sub Delbtn_Click(ByVal sender As Object, 
        ByVal e As System.EventArgs) Handles Delbtn.Click
    lstCountries.Items.Remove(lstCountries.SelectedItem)
    lstCountries.Items.Remove(lstCountries.SelectedItems)

End Sub

但是,在使用此功能时,我无法一次删除多个选项。制作它的最佳方法是什么,以便我可以删除一个或多个选择?

1 个答案:

答案 0 :(得分:2)

首先,确保选择了一些内容:

If lstCountries.SelectedItems.Count > 0 Then

    ' MUST loop backwards thru collections when removing
    ' or you will remove the wrong things, miss stuff and
    ' run out early
    For n As Integer = lstCountries.SelectedItems.Count - 1 To 0 Step -1
        ' remove the current selected item from items
        lstCountries.Items.Remove(lstCountries.SelectedItems(n))
    Next n
End if

还有一个SelectedIndicies集合,它将返回项目的整数集合。如果您对其进行迭代,请使用.RemoveAt(),但仍需要向后循环。