0

背景:我有一个允许多项选择的列表框。我的列表框中有一个特定值,如果选中,则需要为其运行单独的代码路径,并且所有其他选择都通过另一条路径。

问题:我不知道如何在 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 中的唯一选择时,它才能正常工作。

有什么建议么?

4

3 回答 3

5

您的迭代是错误的,您应该在循环中使用 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
于 2013-06-20T16:27:35.370 回答
1

尝试:

For i = listbox1.Items.Count
    If listbox1.Items[i].IsSelected = True Then
       'Do this
    Else
       'Do that
    End If
Next i
于 2013-06-20T16:29:24.683 回答
0

示例: If ListBox1.SelectedItem = ("Km 1795.5 - 1796.3") Then Form78.Show() End If ListBox1.SelectedItem = ("Km 1796.6 - 1797.4") Then Form79.Show() End If If ListBox1.SelectedItem = ( "Km 1798.7 - 1799.0") Then Form80.Show() End If

于 2021-03-20T22:37:59.160 回答