我有一个列表框,其中包含1到10之间的数字列表。 现在我想编程选择那些大于5的数字。但是我也想只触发一次SelectedIndexChanged事件。
我知道我可以使用addrange()方法一次将多个项添加到Listbox中。
但似乎并没有同时选择多项的类似解决方案?
我该怎么做?
答案 0 :(得分:0)
你的问题是不清楚的,但是...
首先,您需要将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
要选择5以上的所有内容,您需要制作一个整数列表
然后使用a for each循环来获取具有所需值的整数列表中的项目。
然后使用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