【发布时间】:2014-09-30 03:48:12
【问题描述】:
我有一个列表框,其中包含从 1 到 10 的数字列表。 现在我想编程来选择那些大于 5 的数字。但我也想只触发一次 SelectedIndexChanged 事件。
我知道我可以使用 addrange() 方法一次将多个项目添加到列表框中。
但是一次选择多个项目似乎没有类似的解决方案?
我该怎么做?
【问题讨论】:
我有一个列表框,其中包含从 1 到 10 的数字列表。 现在我想编程来选择那些大于 5 的数字。但我也想只触发一次 SelectedIndexChanged 事件。
我知道我可以使用 addrange() 方法一次将多个项目添加到列表框中。
但是一次选择多个项目似乎没有类似的解决方案?
我该怎么做?
【问题讨论】:
你的问题有点不清楚,但是...
首先,您需要将 Listbox SelectionMode 设置为 MultySimple。
然后你使用 ListBox1.SelectedItems.Count 当然,您可以编辑代码以满足您的需求,并让它随时触发。
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 的所有内容,您需要制作一个整数列表。
然后使用 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
【讨论】: