将listview行移动到文本框

时间:2013-04-18 21:46:22

标签: vb.net listview textbox click

我第一次使用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个项目,我已经点击了各种文本框?

提前感谢您的协助。

1 个答案:

答案 0 :(得分:0)

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

我突然起床了,所以不要过多考虑我正在写的东西。