选定的列表框项目 - 将数据添加到数组 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
正在努力测试 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