vb:如何一次选择列表框中的多个项目?

vb:如何一次选择列表框中的多个项目?

问题描述:

我有1到10的数字列表的列表框。 现在我想编程来选择那些大于5的数字。但是我也想只触发一次SelectedIndexChanged事件。vb:如何一次选择列表框中的多个项目?

我知道我可以通过使用addrange()方法一次添加多个项目到列表框中。

但似乎没有类似的解决方案,一次选择多个项目?

我该怎么做?

您选择的问题是痘痘尚不清楚,但...

首先,你需要设置你的列表框的SelectionMode到MultySimple。

enter image description here

然后使用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 
+0

谢谢你,但只触发一次SelectedIndexChanged事件的方式不在我需要它的地方。我在SelectedIndexChanged事件中为列表框中的所有选定项目执行了大量繁重的工作。所以我希望它在选择完成后只能执行一次。 – uqji 2014-09-30 05:54:24

+0

确定何时在我的代码中完成选择,即选择最后一个选择是非常棘手的。我的列表框中的项目与地图中的一堆点相关联。我使用框选择来选择地图中的点并将其反射回列表框选择。 – uqji 2014-09-30 06:12:30

+1

然后你需要提供更多的信息。你可以根据你的需要编辑代码。如果你是唯一知道它的人,你可以知道你何时完成选择。 – Creator 2014-09-30 06:33:35