Vb.net 在Visual Basic中如何将数据从列表框传输到文本框

Vb.net 在Visual Basic中如何将数据从列表框传输到文本框,vb.net,Vb.net,我做了一些活动,但我不知道如何将数据从listbox1检索到textbox1。列表框1中的示例有4个名称:John、Jorge、Joe。然后我想把Joe从listbox1转到textbox1。我做了一个arraylist,我在listbox1中添加了这3个名字,但我不知道如何从listbox1检索名字“Jorge”到textbox1。发送帮助 下面是我尝试从listbox1检索其中一个名称到textbox1的代码 Private Sub Retrievebtn_Click(sender As O

我做了一些活动,但我不知道如何将数据从listbox1检索到textbox1。列表框1中的示例有4个名称:John、Jorge、Joe。然后我想把Joe从listbox1转到textbox1。我做了一个arraylist,我在listbox1中添加了这3个名字,但我不知道如何从listbox1检索名字“Jorge”到textbox1。发送帮助

下面是我尝试从listbox1检索其中一个名称到textbox1的代码

Private Sub Retrievebtn_Click(sender As Object, e As EventArgs) Handles Retrievebtn.Click

    If textbox1.Text = ListBox1.Items.Count Then

        textbox1.Text = ArrayofNames(x)

    End If

End Sub
以下是全部代码

公开课表格1

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 textbox1.Text = ListBox1.Items.Count Then

        textbox1.Text = ArrayofNames(x)

    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

Private Sub removeBtn_Click(sender As Object, e As EventArgs) Handles removeBtn.Click
    ListBox1.Items.Remove(ListBox1.SelectedItem)
End Sub
末级


让我们看一下您发布的代码

在检索按钮单击事件中,您正在使用
textbox1.Text=ListBox1.Items.Count将
Integer
String
进行比较,并且
。你有严格的选择权,不是吗?你应该一直戴着这个

在下一行,您将
ArrayofNames(x)
的值分配给文本框的文本属性,其中
x
指的是表单级变量。由于
x
的值在代码中的任何位置都不会更改,因此它将始终返回数组中的0索引。(第一个元素)我无法想象为什么Textbox.Text应该等于ListBox项的计数会很重要

在添加按钮单击事件中,首先声明一个局部变量
x
。方法中的任何代码都将使用此
x
,而不是表单级别的
x
。您可以
ReDim
(不带
Preserve
关键字)将数组重新定义为具有单个元素的数组。您的
For
循环很愚蠢,因为
ArrayofNames
的长度是1,所以它是
0到0

ArrayofNames
将永远不会有多个元素,并且每次单击add按钮时都会覆盖该元素

幸运的是,Listbox维护自己的项集合

我们可以使用此集合简化您的代码。只需将文本框的内容添加到列表项中

要从列表框中检索值,必须首先确定用户是否输入了有效索引。首先,条目是否为有效整数,列表框中是否存在索引

请记住.net集合从索引0开始

我在测试程序中使用默认名称,但您应该继续为控件使用有意义的名称

'Your add button
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim index As Integer
    If Integer.TryParse(TextBox1.Text, index) AndAlso index >= 0 AndAlso ListBox1.Items.Count - 1 >= index Then
        TextBox2.Text = ListBox1.Items(index).ToString
    End If
End Sub
'Your add button
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
   ListBox1.Items.Add(TextBox3.Text)
End Sub

请不要发布一个问题超过一次!你已经在这里的评论中得到了答案: