vb:如何一次选择列表框中的多个项目?
问题描述:
我有1到10的数字列表的列表框。 现在我想编程来选择那些大于5的数字。但是我也想只触发一次SelectedIndexChanged事件。vb:如何一次选择列表框中的多个项目?
我知道我可以通过使用addrange()方法一次添加多个项目到列表框中。
但似乎没有类似的解决方案,一次选择多个项目?
我该怎么做?
答
您选择的问题是痘痘尚不清楚,但...
首先,你需要设置你的列表框的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
而要选择5以上的所有内容,您需要列出整数列表。
然后对每个循环使用a来获取具有所需值的整数列表中的项目。
然后使用for循环中的整数列表来选择列表框中的项目。
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
谢谢你,但只触发一次SelectedIndexChanged事件的方式不在我需要它的地方。我在SelectedIndexChanged事件中为列表框中的所有选定项目执行了大量繁重的工作。所以我希望它在选择完成后只能执行一次。 – uqji 2014-09-30 05:54:24
确定何时在我的代码中完成选择,即选择最后一个选择是非常棘手的。我的列表框中的项目与地图中的一堆点相关联。我使用框选择来选择地图中的点并将其反射回列表框选择。 – uqji 2014-09-30 06:12:30
然后你需要提供更多的信息。你可以根据你的需要编辑代码。如果你是唯一知道它的人,你可以知道你何时完成选择。 – Creator 2014-09-30 06:33:35