【问题标题】:Filling Multiple TextBoxes with ListView Data用 ListView 数据填充多个文本框
【发布时间】:2019-02-22 22:02:31
【问题描述】:

我的脚本有 20 个文本框,最多可容纳 10 个列表视图项。每个项目只有一个子项目。我的目标是让这些文本框自动填充添加到 ListView 中的每个项目。

文本框示例:

目前,下面的脚本有两个 for-loop 语句。第一个将单击列表视图中的所有项目。第二个 for 会将值输入到文本框中。我不确定如何合并一种让脚本填充所有文本框的方法。我想将使用 case 语句。

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

    For I As Integer = 0 To ListView1.Items.Count - 1

        ListView1.Items(I).Selected = True
        For Each item As ListViewItem In ListView1.SelectedItems

            OpenModule.TextBox1.Text = item.Text
            OpenModule.TextBox2.Text = item.SubItems(1).Text

        Next

    Next

End Sub

感谢任何帮助或想法。

【问题讨论】:

  • 不能用这些循环做很多事情。还不如只拥有TextBox1.Text = ListView1.Items(0).Text 等。如果你命名你的盒子,你可能会得到“hacky”,这样你就可以将它们映射到一个索引。
  • 所以你有 10 个自定义对象,列表视图中有 2 个属性(至少),你想用它们填充所有文本框?有1个问题。填充顺序重要吗?
  • @AleksaRistic 不,填充文本框的顺序并不重要。
  • 用c#写代码可以吗?
  • @AleksaRistic 我的大部分代码已经在 vb.net 中。如果是在那个里面会是首选。

标签: vb.net winforms listview textbox


【解决方案1】:

这是对我设法创建的问题的有效回复。请记住,填充文本框的顺序与我的问题无关。我确信这段代码可以以某种方式缩短,如果完成,我会将该响应标记为已解决;在那之前,这是一个可行的选择。

Dim count = ListView1.Items.Count - 1 ' Using ListView1.Items.Count to get max number of rows to prevent error

' Highlight each item
For index As Integer = 0 To count 
    ListView1.Items(index).Selected = True

    ' First Selected Item
    If index = 0 Then

        For Each item As ListViewItem In ListView1.SelectedItems

            OpenModule.TextBox1.Text = item.Text
            OpenModule.TextBox2.Text = item.SubItems(1).Text

        Next

    End If

    ' Second Selected Item
    If index = 1 Then

        For Each item As ListViewItem In ListView1.SelectedItems

            OpenModule.TextBox3.Text = item.Text
            OpenModule.TextBox4.Text = item.SubItems(1).Text

        Next

    End If

    ' Third Selected Item
    If index = 2 Then

        For Each item As ListViewItem In ListView1.SelectedItems

            OpenModule.TextBox5.Text = item.Text
            OpenModule.TextBox6.Text = item.SubItems(1).Text

        Next

    End If

    ' Forth Selected Item
    If index = 3 Then

        For Each item As ListViewItem In ListView1.SelectedItems

            OpenModule.TextBox7.Text = item.Text
            OpenModule.TextBox8.Text = item.SubItems(1).Text

        Next

    End If

    ' Fith Selected Item
    If index = 4 Then

        For Each item As ListViewItem In ListView1.SelectedItems

            OpenModule.TextBox9.Text = item.Text
            OpenModule.TextBox10.Text = item.SubItems(1).Text

        Next

    End If

    ' Sixth Selected Item
    If index = 5 Then

        For Each item As ListViewItem In ListView1.SelectedItems

            OpenModule.TextBox11.Text = item.Text
            OpenModule.TextBox12.Text = item.SubItems(1).Text

        Next

    End If

    ' Seventh Selected Item
    If index = 6 Then

        For Each item As ListViewItem In ListView1.SelectedItems

            OpenModule.TextBox13.Text = item.Text
            OpenModule.TextBox14.Text = item.SubItems(1).Text

        Next

    End If

    ' Eighth Selected Item
    If index = 7 Then

        For Each item As ListViewItem In ListView1.SelectedItems

            OpenModule.TextBox15.Text = item.Text
            OpenModule.TextBox16.Text = item.SubItems(1).Text

        Next

    End If

    ' Ninth Selected Item
    If index = 8 Then

        For Each item As ListViewItem In ListView1.SelectedItems

            OpenModule.TextBox17.Text = item.Text
            OpenModule.TextBox18.Text = item.SubItems(1).Text

        Next

    End If

    ' Tenth Selected Item
    If index = 9 Then

        For Each item As ListViewItem In ListView1.SelectedItems

            OpenModule.TextBox19.Text = item.Text
            OpenModule.TextBox20.Text = item.SubItems(1).Text

        Next

    End If

    ' Deselect Current Item
    ListView1.Items(index).Selected = False
Next

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-16
    • 1970-01-01
    • 2019-01-29
    • 2012-11-01
    • 1970-01-01
    • 2020-04-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多