VB里如何逐行读取listbox中的数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VB里如何逐行读取listbox中的数据相关的知识,希望对你有一定的参考价值。

有5个text文本框,有一个listbox列表框,有一个按钮
listbox里有5条数据比如1、2、3、4、5
点击按钮后把listbox的第一条数据给text1,第二条给text2如此类推

VB可通过循环来获取ListBox控件的List属性。

List属性,返回或设置控件的列表部分的项目。列表是一个字符串数组,数组的每一项都是一列表项目。

下列代码读取ListBox控件的List属性。

Option Explicit
    Dim I As Long

Private Sub Form_Click()
    For I = 1 To 10
        Print List1.List(I) \'输出ListBox的前10项内容
    Next
End Sub

Private Sub Form_Load()
    Dim Entry As String  \' 声明变量。
    For I = 1 To 30   \' 计数值从 1 到 30。
        Entry = "Entry " & I   \' 创建输入项。
        List1.AddItem Entry   \' 添加该输入项。
    Next I
End Sub

参考技术A Private Sub Command1_Click()
Text1.Text = List1.List(0)
Text2.Text = List1.List(1)
Text3.Text = List1.List(2)
Text4.Text = List1.List(3)
Text5.Text = List1.List(4)
End Sub

如果有多个文本框用:

Private Sub Command1_Click()
Dim i As Integer
For i = 0 To Me.Controls.Count - 1
If Left(Me.Controls(i).Name, 4) = "Text" Then
Me.Controls(i).Text = List1.List(CInt(Right(Me.Controls(i).Name, Len(Me.Controls(i).Name) - 4)) - 1)
End If
Next i
End Sub

前提:你的文本框名称必须是默认的,Text1,Text2,Text3,。。。。
当然,用控件数组,就可以大大简化代码。
参考技术B 您好,建议您把text设置成控件数组

您好,在command_click事件中用for循环就可以实现
Sub command_click()
for i=0 to ubound(listbox)
text(i).text=listbox.list(i)

next i

end
参考技术C listbox.listcount
listbox.list(i)
数组text
参考技术D for i=0 to 4
print list1.list(i)
next i

VB菜鸟提问:VB 如何读取listbox中选中的一行数据至text中?

参考技术A 试试:
TextBox1.Text = ListBox1.SelectedItem
?或者:
Text1.Text = ListBox1.SelectedItem
参考技术B 就这样白赚你100分我都不好意思了。
Text1.Text = List1.List(List1.ListIndex)本回答被提问者采纳

以上是关于VB里如何逐行读取listbox中的数据的主要内容,如果未能解决你的问题,请参考以下文章

VB 用API读取别的软件的LISTBOX中的某项和项目的总数

vb.net读取txt文件,按照要求排序其中数据后显示在listbox控件中。

如何枚举列表框?

逐行编辑文本文件 VB6

VB6.0中如何实现逐行读入文本文件?

vb里面listbox控件如何改变某一行的背景颜色