用vb如何实现把一个文本框中的内容逐行添加到一个combo的text属性中?

用vb如何实现把一个文本框中的内容逐行添加到一个combo的text属性中?,第1张

1、在窗体上添加text1控件,并且把multiline设为true //因为text1控件需要多行输入

2、在窗体上添加combo1控件

3、在窗体上添加timer1控件,并且把interval设为1000 //因为每一秒运行一次

4、把如下代码粘贴进去,运行

Dim str() As String '用来存放text1中的每行数据的数组

Dim temp As String '用来存放未添加项目的字符串

Private Sub Form_Load() '此formload过程是为了测试方便,在text1中加入了20条记录

For m = 1 To 20

If Text1.Text = "" Then

Text1.Text = "测试数据" &m

Else

Text1.Text = Text1.Text &vbCrLf &"测试数据" &m

End If

Next m

End Sub

Private Sub Timer1_Timer()

temp = "" '每次执行代码前清空temp

str() = Split(Text1.Text, vbCrLf) ’用text1.text的内容给str数组赋值,text1中第一行就是str(0),第二行就是str(1)...以此类推

Combo1.AddItem str(0) '将数组的第一个元素,也就是text1中第一行的内容添加至combo1控件

For i = 1 To UBound(str)'这个for的过程是将还没有添加到combo1控件中的元素赋值给字符串temp

If temp = "" Then

temp = str(i)

Else

temp = temp &vbCrLf &str(i)

End If

Next i

Text1.Text = temp 'text1的内容改变为赋值后的temp,为了去掉已经添加到combo1的元素

If Text1.Text = "" Then '这个if用来判断text1中是否还有内容,如果没有内容,程序退出。

Timer1.Enabled = False

MsgBox "全部添加完毕"

End If

End Sub

在窗体中添加一个时钟控件Timer,并将其属性Interval的值设置为1000(毫秒),即1秒,然后将以下代码复制、粘贴、执行即可。

Private Sub Timer1_Timer() '时钟控件

If Combo1.ListIndex <Combo1.ListCount - 1 Then '因为索引的下标是从0开始的

Combo1.ListIndex = Combo1.ListIndex + 1 '移向下一个列表项

Else

Timer1.Enabled = False '停止计时,因为已经添加完所有项

End If

End Sub

以上代码实现的效果是每隔1秒钟自上而下依次将列表项内容添加到Combo1.Text

明白吧?

字段1=combo1.list(list1.listindex)

字段2=combo2.list(list2.listindex)

字段3=text1.text


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/7933528.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存