vb 搜索 listbox 中的 某一行 ,并显示在其上面

在窗体上建个文本框和一个listbox控件在list中添加若干选项然后再文本框输入文字点击按钮搜索list里面的选项并选定而且还有可以搜索相试的选项求代码。。。。。。。。... 在窗体上 建个文本框 和一个listbox控件
在list中添加若干选项
然后再文本框输入文字 点击按钮 搜索 list里面的选项 并选定
而且还有可以 搜索相试的选项
求代码 。。。。。。。。。注视 要详细点的 而且要可以用的
展开
 我来答
陈学阳
2010-10-18 · TA获得超过2.8万个赞
知道大有可为答主
回答量:2.1万
采纳率:14%
帮助的人:5488万
展开全部
Private Sub Text1_Change()
k=len(text1.text)
For i = 0 To List1.ListCount - 1
for j=1 to len(list1.list(i))-k+1
m=mid(list1.list(i),j,k)
if m=text1.text then
List1.Selected(i) = True
end if
next j
Next i
End Sub
换成command1_click()
我验证了好使
你需要把list1的muliselect 属性改为1

如果对您有帮助,请记得采纳为满意答案,谢谢!祝您生活愉快!

vaela
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
啊峰
2010-10-18 · TA获得超过1166个赞
知道小有建树答主
回答量:620
采纳率:0%
帮助的人:415万
展开全部
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const LB_FINDSTRING = &H18F
Dim lResult As Long
Dim lStart As Long
Dim strFindThis As String

Private Sub Command1_Click()
strFindThis = Text1.Text

If lResult < 0 Then
lStart = -1
Else
lStart = lResult
End If

lResult = SendMessage(List1.hwnd, LB_FINDSTRING, lStart, ByVal strFindThis)
If lResult <> -1 Then
List1.ListIndex = lResult
End If
End Sub

Private Sub Form_Load()
List1.AddItem "A"
List1.AddItem "B"
List1.AddItem "c"
List1.AddItem "ABcd"
List1.AddItem "cdba"
List1.AddItem "Bcd"

Command1.Caption = "搜索"
Text1.Text = "A"

End Sub

'复制到程序里就好用 。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式