Vb.net 基于用户输入的搜索组合框下拉列表

Vb.net 基于用户输入的搜索组合框下拉列表,vb.net,string,search,filter,combobox,Vb.net,String,Search,Filter,Combobox,我有一个包含列表项的组合框: ABC 美国银行 迪伊 如何让列表根据输入提出建议。e、 g如果用户输入A,则应显示: 基础知识 美国银行 因为它们都包含字符串A Dim AList As List(Of String) = New List(Of String) ' Iterate through all the items in the combobox. For Each item As Object In ComboBox1.Items ' If t

我有一个包含列表项的组合框:

ABC 美国银行 迪伊

如何让列表根据输入提出建议。e、 g如果用户输入A,则应显示: 基础知识 美国银行 因为它们都包含字符串A

    Dim AList As List(Of String) = New List(Of String)
    ' Iterate through all the items in the combobox.
    For Each item As Object In ComboBox1.Items
        ' If the current item contains A then add to the list.
        If item.ToString.Contains("A") Then
            AList.Add(item.ToString)
        End If
    Next
也可以通过LINQ实现,基本相同:

    Dim AList As List(Of String) = New List(Of String)
    Dim query = From item In ComboBox1.Items
                Where item.ToString.Contains("A")
                Select item

    For Each item in query
        AList.Add(item.ToString)
    Next

Winforms?WPF?Asp.NETMVC?Asp.net webforms?我正在使用WinForms。我尝试了您的解决方案,但我的下拉列表中有ABC、BAC和DEE,当我在文本框中键入时,不建议使用ABC和BAC。由于ABC和BAc包含A,我希望在输入A时,我的下拉列表仅建议列表中3个选项中的2个。谢谢!那不可能。你确定你把代码放在正确的地方了吗?如果您希望在文本框中键入时下拉列表建议项目,则需要确保将代码放入该文本框的
TextChange
事件中,当然不要添加到示例中的列表中,而是添加到下拉列表中。是的!我在TextChange事件上看到了它。当你说将其添加到下拉列表中时,你是什么意思?你希望这些项目显示在哪里?目前,代码只是将它们“存储”在一个内部
列表(字符串)
中。无论如何,这段代码对我来说都很好。我希望在我输入A时,它们能显示为下拉列表的建议