我第一次使用ListView框。我已经弄清楚如何使用数据库中的数据填充它。我现在想要单击该ListView的一行,让它将该行中的五个单元格中的每一个返回到5个文本框中。我写了以下失败的代码:
Private Sub lvPrinterSetup_Click(sender As Object, e As System.EventArgs) Handles lvPrinterSetup.Click
Dim values As New List(Of String)
If lvPrinterSetup.SelectedItems.Count > 0 Then
For Each item As ListViewItem.ListViewSubItem In lvPrinterSetup.SelectedItems(0).SubItems
values.Add(item.Text)
txbRow.Text = Convert.ToString(lvPrinterSetup.SelectedItems(0))
txbPrinterName.Text = Convert.ToString(lvPrinterSetup.SelectedItems(1))
txbPrinterName.Text = Convert.ToString(lvPrinterSetup.SelectedItems(2))
txbPrinterNo.Text = Convert.ToString(lvPrinterSetup.SelectedItems(3))
txbPrinterAddress.Text = Convert.ToString(lvPrinterSetup.SelectedItems(4))
Next
End If
End Sub
这是失败的,错误说明是.SelectedItems(1)" InvalidArgument =' 1'对于' index'无效。 参数名称:index"
我确信2 - 4也会失败。那么如何从一行中获取这5个项目,我已经点击了各种文本框?
提前感谢您的协助。
答案 0 :(得分:0)
我不确定为什么你在单个值上运行每个循环(lvPrinterSetup.SelectedItems(0))。你不应该从整个列表框中获取每个值吗? (lvPrinterSetup.SelectedItems)?
我突然起床了,所以不要过多考虑我正在写的东西。