3

我想创建一个 ComboBox,它会根据输入自动下拉包含该字母的单词。我的下拉样式是下拉,所以组合框有一个输入字段。

例如,我会输入字母 A 或 a 我希望 ComboBox 自动下拉包含字母 A 或 a 的单词。ComboBox 的内容是我自己手动设置的。

这可能吗?提前致谢。

4

2 回答 2

3

你必须设置这些

AutoCompleteMode: SuggestAppend
AutoCompleteSource: ListItems
DropDownStyle: DropDown

假设您的组合有这些项目,那么您还必须将它们添加到 autocompletecustomsource

ComboBox1.Items.Add("10")
ComboBox1.Items.Add("92")
ComboBox1.Items.Add("9000")
ComboBox1.Items.Add("9001")

ComboBox1.AutoCompleteCustomSource.Add("10")
ComboBox1.AutoCompleteCustomSource.Add("92")
ComboBox1.AutoCompleteCustomSource.Add("9000")
ComboBox1.AutoCompleteCustomSource.Add("9001")

ComboBox1.AutoCompleteSource = AutoCompleteSource.CustomSource
于 2013-09-07T06:05:22.843 回答
1

是的,这可以通过AutoCompleteModeand实现AutoComplete,如下所示:

Public Class Form1
    Private Sub Form1_Load(ByVal sender As System.Object, _
               ByVal e As System.EventArgs) Handles MyBase.Load
        ComboBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend
        ComboBox1.AutoCompleteSource = AutoCompleteSource.CustomSource

        'Add some options
        ComboBox1.AutoCompleteCustomSource.Add("ABC")
        ComboBox1.AutoCompleteCustomSource.Add("BCD")
        ComboBox1.AutoCompleteCustomSource.Add("CDE")
    End Sub

    'Add ComboBox1.Text to AutoCompleteCustomSource collection when leaving ComboBox
    Private Sub ComboBox1_Leave(ByVal sender As System.Object, _
               ByVal e As System.EventArgs) Handles ComboBox1.Leave
        ComboBox1.AutoCompleteCustomSource.Add(ComboBox1.Text)
    End Sub
End Class

阅读AutoCompleteMode 枚举以获取更多信息。

阅读AutoCompleteSource 枚举以获取更多信息。

于 2013-09-07T06:05:30.627 回答