VB listbox自动筛选文本框的内容

例如我有text1listbox1listbox2这些控件然后listbox1和listbox2中有以下内容:1526399787然后我在text中输入3(只搜索list... 例如我有 text1 listbox1 listbox2 这些控件
然后listbox1和listbox2中有以下内容:
1 5
2 6
3 9
9 7
8 7
然后我在text中输入 3 (只搜索listbox1的内容,和他相对应的listbox2的内容也要显示出来)
然后listbox1和listbox2中就自动显示出:
3 9
求代码
展开
 我来答
Crystarain
2014-01-29
知道答主
回答量:16
采纳率:0%
帮助的人:16.6万
展开全部
Private a(5) As Integer
Private b(5) As Integer
Private Sub Form4_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        a(1) = 1
        a(2) = 2
        a(3) = 3
        a(4) = 9
        a(5) = 8
        b(1) = 5
        b(2) = 6
        b(3) = 9
        b(4) = 7
        b(5) = 7
        Dim i As Integer
        For i = 1 To 5
            ListBox1.Items.Add(a(i))
            ListBox2.Items.Add(b(i))
        Next
    End Sub

    Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
        Dim i As Integer
        Dim x As Integer
        x = Val(TextBox1.Text)
        For i = 0 To ListBox1.Items.Count - 1
            If ListBox1.Items(i) = x Then
                ListBox1.SelectedIndex = i
                ListBox2.SelectedIndex = i
                Exit For
            End If
        Next
    End Sub

veket用的方法没有问题,我试过了,但是不知道是不是因为VB和VB.NET有区别,个别地方的属性不太一样,我改了下,应该基本上符合你的要求了,也许我的能用,也许veket的能用...

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
销声匿迹JIE
2014-01-29 · TA获得超过387个赞
知道小有建树答主
回答量:502
采纳率:0%
帮助的人:371万
展开全部
 Private Sub Command1_Click()
Dim a As String
If List1.ListCount = List2.ListCount And List1.ListCount <> 0 Then
For i = 1 To List1.ListCount
a = List1.List(i - 1)
If a = Text1.Text Then '找的只是第一个“3”
List1.ListIndex = i - 1
List2.ListIndex = i - 1
Exit For
End If
Next i
Else
MsgBox "list1 和 list2 不一样长或为空", vbOKOnly, "提示!"
End If
End Sub
 
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
veket的小号
2014-01-28 · TA获得超过3371个赞
知道大有可为答主
回答量:3762
采纳率:0%
帮助的人:4057万
展开全部
Private a(1 To 5) As Integer
Private b(1 To 5) As Integer
Private Sub Form_Load()
    a(1) = 1
    a(2) = 2
    a(3) = 3
    a(4) = 9
    a(5) = 8
    b(1) = 5
    b(2) = 6
    b(3) = 9
    b(4) = 7
    b(5) = 7
    Dim i As Integer
    For i = 1 To 5
        List1.AddItem a(i)
        List2.AddItem b(i)
    Next
End Sub
Private Sub Text1_Change()
    Dim i As Integer
    Dim x As Integer
    x = Val(Text1.Text)
    For i = 0 To List1.ListCount - 1
        If List1.List(i) = x Then
            List1.ListIndex = i
            List2.ListIndex = i
            Exit For
        End If
    Next
End Sub
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式