VB中list控件的使用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VB中list控件的使用相关的知识,希望对你有一定的参考价值。
VB中添加两个窗体:form1和form2,在form1中添加两个文本框text1、text2和一个Command1按钮,在form2中添加两个Listbox:List1和List2
现在要实现如下功能:
1.在text1中输入文字名称比如QQ,在text2中输入QQ的实际路径比如:E:\Program Files\Tencent\QQ\Bin\QQ.exe
单击Command1按钮,分别添加到form2中的List1和List2中;
Private Sub Command1_Click()
Form2.List1.AddItem Text1.Text
Form2.List2.AddItem Text2.Text
End Sub
此问题解决!
2.在FORM2中的List1中单击QQ能够自动调用List2中的路径并自动弹出登陆框!试了很多方式都没有成功,想请教一下各位老大,有没有什么好的办法呢?(我想用SHELL来调用路径但是不成功)
3.当有一条数据时可能很好调用,但是当有多条数据时怎么才能做到一一对应呢?比如:
条数 名称 路径
第一条 QQ E:\Program Files\Tencent\QQ\Bin\QQ.exe
第二条 wps C:\Program Files\Kingsoft\WPS Office Personal\office6\wps.exe
第三条 迅雷 E:\Program Files\Thunder Network\Thunder\Program\Thunder.exe
第四条 UC E:\Program Files\sina\SinaUC2009II\uc.exe
……
等等
应该怎么实现呢?望大家给帮忙出出注意吧!谢谢了!
shell list2.list(list1.listindex)
end sub
列表1和列表2的项目需要一一对应。
你的这种方法并不是很好,最好是使用数组来记录。 参考技术A 注册方面的代码你自己有吧
if
<注册成功>
then
m="帐号:"
&
text1
&
"
密码:"
&
text2
list1.additem
m
else
......
end
if
vb6关于list列表搜索下一个的问题
现在已经实现了模糊搜索,但只能搜索第一个数值,无法搜索下一个,请问该怎样实现
Private Sub Command6_Click()
For i = 0 To List1.ListCount - 1
List1.ListIndex = i
If InStr(List1.List(i), Text1.Text) <> 0 Then
Me.Caption = List1.List(i)
MsgBox "恭喜你,找到了。。。" & vbCrLf & vbCrLf & List1.List(i)
Exit Sub
End If
Next
End Sub
Private Sub Command6_Click()
Dim a, b As String
For i = 0 To List1.ListCount - 1
a = LCase(List1.List(i))
b = LCase(Text1.Text)
If Len(a) >= Len(b) Then
For j = 1 To Len(a) - Len(b) + 1
If b = Mid(a, j, Len(b)) Then
c = MsgBox("找到:" & List1.List(i) & ",是否继续查找?", 36)
If c = 7 Then
List1.ListIndex = i
Exit Sub
End If
End If
Next
End If
Next
MsgBox "没有找到相符项。", 16
End Sub
在VB上试过,效果正确。 参考技术A Private Function FindNext(strText As String,lstSoure As ListBox,Optional nStart As Long = 0) As Long
With lstSource
For FindNext = nStart To .ListCount -1
If Instr(.List(FindNext),strText) Then _
Exit Function
Next FindNext
End With
FindNext = -1
End Function
Private Sub Command6_Click()
Dim pos As Long
pos = FindNext(Text1.Text,List1)
If pos <> -1 Then
Me.Caption = List1.List(pos) '默认从第0个开始找
MsgBox "恭喜你,找到了。。。" & vbCrLf & vbCrLf & List1.List(pos)
End If
pos = FindNext(Text1.Text,List1,pos + 1) '从当前位置的下一个开始找
If pos = -1 Then
MsgBox "未找到"
Else
MsgBox "下一个为 " & List1.List(pos)
End If
End Sub 参考技术B 本来还不想弄程序的~ 偶尔看到你这题目,觉得简单,就给你弄了个~
代码如下,剩下的自己修改吧。
Private Sub Command6_Click()
Dim i As Long
For i = List1.ListIndex + 1 To List1.ListCount - 1
If InStr(List1.List(i), Text1.Text) <> 0 Then
List1.ListIndex = i
Me.Caption = List1.List(i)
MsgBox "恭喜你,找到了。。。" & vbCrLf & vbCrLf & List1.List(i)
Exit Sub
End If
Next
List1.ListIndex = -1
MsgBox "Finish!"
End Sub
以上是关于VB中list控件的使用的主要内容,如果未能解决你的问题,请参考以下文章