如何在vb中利用输入的文字筛选下拉框中的内容?

 我来答
zp156095502
2011-04-11 · TA获得超过480个赞
知道小有建树答主
回答量:113
采纳率:0%
帮助的人:61.2万
展开全部
这个不难,首先你要将列表框中的内容读取到一个数组s(N)里,然后清空列表框,用 for 循环进行筛选,如下:
for i=1 to N 'N为列表框内容的个数
用if是否为用户输入的文字
用add列表框添加筛选内容
endfor
希望能对您有所帮助!
追问
感谢你的回答!但是列表框内容很多的时候有没有一些更加简便的方法?当输入的文字只是和数据部分相同时如何显示?
追答
不用数组也可以,可以使用split()函数,同样要配合循环使用。
启岩
2011-04-11 · TA获得超过1851个赞
知道小有建树答主
回答量:809
采纳率:0%
帮助的人:648万
展开全部
这功能在VB.NET中很好实现,在VB中很麻烦
追问
感谢你的回答,但是我现在是要用vb进行编程
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhaobuping
2011-04-12 · TA获得超过340个赞
知道小有建树答主
回答量:195
采纳率:0%
帮助的人:270万
展开全部
vb6 Code

Option Explicit
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
Const WM_USER = &H400
Const CB_SHOWDROPDOWN = &H14F
Const WM_SETREDRAW As Long = &HB&
Const CB_FINDSTRING As Long = &H14C&
Const CB_SELECTSTRING = &H14D
Public Sub SearchCombo(InControl As Object)
On Error GoTo trap
Dim StrPos As Long
Dim lPos As Long
Dim SearchStr As String
If TypeOf InControl Is ComboBox Then
StrPos = InControl.SelStart
SearchStr = Left$(InControl.Text, StrPos)
lPos = SendMessage(InControl.hwnd, CB_FINDSTRING, 0, ByVal SearchStr)
If lPos >= 0 Then
Dim id As Long
id = SendMessage(InControl.hwnd, CB_FINDSTRING, -1, ByVal CStr(InControl.Text))
If id >= 0 Then
SendMessage InControl.hwnd, CB_SHOWDROPDOWN, 1, 0
SendMessage InControl.hwnd, CB_SELECTSTRING, 1, id
End If
InControl.Text = InControl.List(lPos)
InControl.ListIndex = lPos
End If
With InControl
.SelStart = StrPos
.SelLength = Len(InControl.Text)
End With
End If
Exit Sub
trap:
MsgBox Err.Description
End Sub
Private Sub Form_Load()
Combo1.AddItem "11111"
Combo1.AddItem "22222"
Combo1.AddItem "33333"
Combo1.AddItem "44444"
Combo1.AddItem "55555"
Combo1.AddItem "66666"
Dim nret As Long
nret = SendMessage(Combo1.hwnd, CB_SHOWDROPDOWN, 1, ByVal 0&)
End Sub
'法一
Private Sub Combo1_Change()
Call SearchCombo(Combo1)
End Sub
'法二
Private Sub Combo1_Change()
SendKeys "{F4}"
End Sub
'法三
Private Sub Combo1_Change()
Call SearchCombo(Combo1)
SendKeys "{F4}"
End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
甜咖啡很甜
2011-04-11 · TA获得超过316个赞
知道小有建树答主
回答量:231
采纳率:0%
帮助的人:207万
展开全部
你的问题还是不太明确,你的下拉框是什么啊
追问
就是dragmode为0的ComboBox
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式