0

我第一次使用 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=Value of '1' is not valid for 'index'. Parameter name: index”

我敢肯定 2 - 4 也会失败。那么如何从我点击进入各种文本框的一行中获取这 5 个项目?

在此先感谢您的帮助。

4

1 回答 1

0

我不确定你为什么要对单个值(lvPrinterSetup.SelectedItems(0))运行 for each 循环。您不应该从整个列表框中获取每个值吗?(lvPrinterSetup.SelectedItems)?

我刚下床,所以不要想太多我正在写的东西。

于 2013-04-19T00:02:58.703 回答