Vb.net vb:如何一次在列表框中选择多个项目?
我有一个列表框,上面有从1到10的数字列表。 现在我想编程选择那些大于5的数字。但我也只想触发SelectedIndexChanged事件一次 我知道我可以使用addrange()方法一次将多个项目添加到列表框中 但似乎没有一个类似的解决方案可以同时选择多个项目Vb.net vb:如何一次在列表框中选择多个项目?,vb.net,listbox,Vb.net,Listbox,我有一个列表框,上面有从1到10的数字列表。 现在我想编程选择那些大于5的数字。但我也只想触发SelectedIndexChanged事件一次 我知道我可以使用addrange()方法一次将多个项目添加到列表框中 但似乎没有一个类似的解决方案可以同时选择多个项目 我该怎么做?你的问题有点不清楚,但 首先,您需要将Listbox SelectionMode设置为MultySimple。 然后使用ListBox1.SelectedItems.Count
我该怎么做?你的问题有点不清楚,但 首先,您需要将Listbox SelectionMode设置为MultySimple。
然后使用ListBox1.SelectedItems.Count<2,这样它只在选择开始时触发SelectedIndexChanged事件一次。
当然,您可以编辑代码以满足您的需要,并让它随时触发
Private Sub ListBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListBox1.SelectedIndexChanged
If ListBox1.SelectedItems.Count < 2 Then
MsgBox("one")
End If
End Sub
谢谢,但您只触发SelectedIndexChanged事件一次的方式并不是我所需要的。在SelectedIndexChanged事件中,我为列表框中的所有选定项目执行了大量繁重的工作。因此,我希望它只在选择完成后执行一次。在我的代码中确定选择完成的时间,即最后一个要选择的时间,是非常棘手的。我的列表框中的项目与地图中的一组点关联。我使用框选择来选择地图中的点,它反映回列表框选择。然后你需要提供更多信息。你可以根据需要编辑代码。如果你是唯一知道的人,别人怎么知道你完成选择的时间。
Dim l As New List(Of Integer)
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
For Each Item As Integer In ListBox1.Items
If Item > 5 Then
l.Add(ListBox1.FindString(Item))
End If
Next
For SetItem As Integer = 0 To l.Count - 1
For i = 0 To ListBox1.Items.Count - 1
If i = l.Item(SetItem) Then
ListBox1.SetSelected(i, True)
Exit For
End If
Next
Next
End Sub