背景:我有一个允许多项选择的列表框。我的列表框中有一个特定值,如果选中,则需要为其运行单独的代码路径,所有其他选择都通过另一个路径。
问题:我无法弄清楚如何在VB.NET中正确编写它以使其按照我想象的方式工作。
代码:
For Each Item As String In listbox1.SelectedItems
If listbox1.SelectedItem = myValue Then
Do this
Else
Do that
End If
Next
如果我在列表中进行多项选择,则代码无法正常运行。只有当myValue是listbox1中的唯一选择时,它才能正常工作。
有什么建议吗?
答案 0 :(得分:4)
您的迭代错误,您应该在循环中使用Item值:
For Each Item As String In listbox1.SelectedItems
If Item = myValue Then
Do this
Else
Do that
End If
Next
For Each循环基本上执行以下操作:(请原谅任何语法错误,我的vb生锈)
For index As Integer = 0 To listbox1.SelectedItems.Length
Def Item = listbox1.SelectedItems[index]
Next
答案 1 :(得分:1)
尝试:
For i = listbox1.Items.Count
If listbox1.Items[i].IsSelected = True Then
'Do this
Else
'Do that
End If
Next i
答案 2 :(得分:0)
示例: 如果 ListBox1.SelectedItem = ("Km 1795.5 - 1796.3") 然后 Form78.Show() 万一 如果 ListBox1.SelectedItem = ("Km 1796.6 - 1797.4") 然后 Form79.Show() 万一 如果 ListBox1.SelectedItem = ("Km 1798.7 - 1799.0") 然后 Form80.Show() 如果结束