vb6关于list列表搜索下一个的问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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.list
list.listindex
list.index
list.text
List,是ListBox中所有的列表集合,是一个数组。
例如List1.List(0)就代表List1中的第一个列表项
2.
ListIndex 是listBox中当前激活的(高亮的,就是蓝色标出的)列表项的Index(位置)。-1表示没有激活的列表项
例如Msgbox List1.List(List1.ListIndex)
这句作用是显示激活列表项的文字(没有激活项会报错)
3.Index是控件都有的,一般是空白。如果非空白,则代表这个控件是一个控件数组,调用要用类似于List1(0)这样调用
4.Text代表ListBox当前选中项目文本,与Lit1.List(List1.ListIndex)效果一样 参考技术A list是个数组,可以访问所有的项目,而text表示当前选中项目的文字.
list2.additem
list1.list(k)
是把
list1中的
k位置上的文字
加入list2
list2.additem
list1.text
是把list1
选中的文字
加入list2,
不一样的 参考技术B Property List(Integer) As String
VB.ListBox 的成员
返回/设置控件的列表部分中包含的项。
Property ListCount As Integer
只读
VB.ListBox 的成员
返回控件的列表部分中的项目数。
Property Index As Integer
只读
VB.ListBox 的成员
返回/设置控件在控件数组中的标识号。
Property ListIndex As Integer
VB.ListBox 的成员
返回/设置该控件中当前选定项目的索引。
Property Text As String
VB.ListBox 的成员
返回/设置控件中包含的文本。 参考技术C 看 msdn 吧
祝你顺利
以上是关于vb6关于list列表搜索下一个的问题的主要内容,如果未能解决你的问题,请参考以下文章