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

Selected Listbox Items - to add data to array VB.net

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

顺便说一句

If Listbox.SelectedItem = true Then

无效。它 returns 一个错误。

我的代码在 returns 第一个 selected 项目(在消息框中)下面 - 但不是其他项目。我现在只是兜兜转转。必须有更简单的方法。想法?

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 中选择了相应的 'row',则将第二个 'column' 设置为“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