ListBox1.SelectedIndex = ListBox1.Items.Count - 1
第二句,确保让选择项保持在最后一项,这样一直可以看到添加过程
'呵呵,xjnzhidao 回答正解。我就这个实现过程解释一下:'多行文本框中的每行内容是以回车换行符(在VB中是vbcrlf)结束的,也就是说 vbcrlf 是行与行之间的“分割符”。
'如果要把多行文本框中的多行文本添加到列表框,也就是让列表框根据多行文本框“分割点”的个数,来确定行数。
'然后再通过循环依次把每行内容添加到ListBox中。所以“分割”的关键在于如何找出“分割点”
'VB中的 split 函数用于分割字符串,其用法为:
' 返回值=split(要被分割的文本,分割符)
'其中返回值是一个字符串数组,例如:在窗体上放一个按钮,在其单击事件中写:
Private Sub Command1_Click()
' ****************** 测试返回值为 string ************************************
Dim strTemp As String '要被分割的文本
strTemp = "北京_上海_广州_深圳"'该字符串有一定的“规律”,即每个城市名之间用 _ 隔开,所以要“分割”它们,就要以 _ 号作为“分割符”
Dim strRet() As String '返回值数组
strRet = Split(strTemp, "_") '用 _ 把strTemp 进行分割,将结果存于 strRet 数组中
MsgBox "分割后的第一个字符串是:" &strRet(0) '第一个字符串下标以0开始(勿忽略)
MsgBox "分割后的最后一个字符串是:" &strRet(UBound(strRet)) '最后一个字符串是下标上界
End Sub
'把多行文本框中的多行文本分行读入到 ListBox 中
Private Sub Form_Load()
Text1.Text = "第一行"
Text1.Text = Text1.Text &vbCrLf &"第二行"
Text1.Text = Text1.Text &vbCrLf &"第三行"
Text1.Text = Text1.Text &vbCrLf &"第四行"
Dim strRet() As String
strRet = Split(Text1.Text, vbCrLf) '用 vbcrlf 把 text1.text 进行分割,将结果存于 strRet 数组中
Dim i As Integer
For i = 0 To UBound(strRet)
List1.AddItem strRet(i)
Next i
End Sub
'split 是一个比较有用的函数,不要小看它,例如:
'1、用VB编写注册表修改程序时,有些注册表键值是一个多行字符串,去掉一行,或加入一行,都会有很大变化,这时用 split 就很方便。
'2、数据库编程中,有些时候可能我们更需要动态生成控件、生成窗口(根据数据库中表的名称或字段名称而动态生成),
' 如果把数据库表名和字段名用特定的字符分割,然后由程序循环读入,动态生成窗口和控件,这时也可用到 split
'3、XML文件读取时
'4、……
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)