选定的列表框项目-将数据添加到数组VB.net

问题描述

努力测试选择了哪些列表框项目。我想允许用户在列表框中选择多个项目,以便可以将字符串存储在还存储列表的数组中。这是一个点名系统(这是我10年级学生的任务)。我只是无法正确获取列表框的语法。列表框设置为MultiSelection。

顺便说一句

If ListBox.SelectedItem = true Then

不起作用。返回错误

下面的我的代码返回第一个选定的项目(在消息框中),但不返回其他项目。我现在正在转转。必须有一个更简单的方法。有想法吗?

Private Sub BtnRollCall1_Click(sender As Object,e As EventArgs) Handles btnRollCall1.Click
    Dim ExcursionArray(29,4) As String
    Dim selected As Integer
    Dim LoadNames As StreamReader = File.OpenText("ClassList.txt")
    For i = 0 To 29
        ExcursionArray(i,0) = (LoadNames.ReadLine())
        lbxRollCall.Items.Add(ExcursionArray(i,0))
    Next

    For Each SelectedItem As string In lbxRollCall.SelectedItems
        selected = lbxRollCall.Selectedindex
        ExcursionArray(selected,1) = "a"
    Next

    For x = 0 To 29
        If (ExcursionArray(x,1) = "a") Then
            MsgBox(ExcursionArray(x,0))
        End If

    Next
End Sub

解决方法

如果您在ListBox中选择了相应的“行”,似乎您真正想做的就是更新2D数组并将第二个“列”设置为“ a”。一种方法是这样的:

For Each selectedIndex In lbxRollCall.SelectedIndices
    ExcursionArray(selectedIndex,1) = "a"
Next

另一个选择是这样的:

For i = 0 To ExcursionArray.GetUpperBound(0)
    If lbxRollCall.GetSelected(i) Then
        ExcursionArray(i,1) = "a"
    End If
Next