【问题标题】:How i gonna transfer a data from listbox to textbox using index numbers?我如何使用索引号将数据从列表框传输到文本框?
【发布时间】:2021-04-12 09:01:26
【问题描述】:

这是我在 VB.net 中制作的布局:

如何仅使用数字将我制作的列表框中的一项传输到标签框或文本框(可选)。我还创建了一个数组以将其添加到列表框。

这是完整的代码

Public Class Form1

    Dim ArrayofNames() As String
    Dim x As Integer

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

    End Sub

    Private Sub Retrievebtn_Click(sender As Object, e As EventArgs) Handles Retrievebtn.Click
        If ListBox1.SelectedIndex >= 0 Then
            ListBox1.Items.Add(Retrievetextbox.Text & " " & ArrayofNames.Length - 1)
        End If
    End Sub

    Private Sub Addbtn_Click(sender As Object, e As EventArgs) Handles Addbtn.Click

        Dim x As Integer = 0
        ReDim ArrayofNames(x)
        For x = 0 To ArrayofNames.Length - 1
            ArrayofNames(x) = Addtextbox.Text
            ListBox1.Items.Add(ArrayofNames(x))

        Next
    End Sub
End Class

【问题讨论】:

  • 不清楚您在这里真正想要什么。如果您只想在文本框中显示所选项目,您可以使用DataBinding。无论如何将ArrayofNames切换到一个对象会很方便
  • @AlexB。你好。呃。就像从列表框中有 4 个名称示例,John、Rick 和 Dominic。然后我将仅使用数组索引将其中一个传输到文本框。是否可以?就像从列表框中检索一项到文本框一样。这是我的教授对我目前正在做的活动的指示。然后它对我来说有点。我希望你能帮助我。
  • 只需做TextBox1.Text = ListBox1.Items(yourIndex).Value
  • @preciousbetine 你好。它显示错误。它说“System.MissingMemberException:'Public member 'Value' on type 'String' not found

标签: arrays vb.net arraylist


【解决方案1】:

我不确定为什么您的教授会指示您使用任意数组,但这是另一个问题。以下代码反映了所需的行为:

Public Class Form1

    Dim ArrayofNames() As String

    Private Sub Retrievebtn_Click(sender As Object, e As EventArgs) Handles Retrievebtn.Click
        Dim idxRetreive = Integer.Parse(TextBox2.Text)
        TextBox3.Text = ArrayofNames(idxRetreive)
    End Sub

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        syncItemArray()
    End Sub

    Private Sub Addbtn_Click(sender As Object, e As EventArgs) Handles Addbtn.Click
        Dim newItem = TextBox1.Text
        ListBox1.Items.Add(newItem)
        syncItemArray()
    End Sub

    Private Sub syncItemArray()
        ReDim ArrayofNames(ListBox1.Items.Count - 1)
        ListBox1.Items.CopyTo(ArrayofNames, 0)
    End Sub
End Class

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-05-20
    • 1970-01-01
    • 1970-01-01
    • 2011-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多