Vb.net 在Visual Basic中如何将数据从列表框传输到文本框
我做了一些活动,但我不知道如何将数据从listbox1检索到textbox1。列表框1中的示例有4个名称:John、Jorge、Joe。然后我想把Joe从listbox1转到textbox1。我做了一个arraylist,我在listbox1中添加了这3个名字,但我不知道如何从listbox1检索名字“Jorge”到textbox1。发送帮助 下面是我尝试从listbox1检索其中一个名称到textbox1的代码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
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
请不要发布一个问题超过一次!你已经在这里的评论中得到了答案: