0
private void Form1_Load(object sender, EventArgs e)
    {
            AutoCompleteStringCollection nc = new AutoCompleteStringCollection();
        nc.AddRange(new string[]
        {
            "boston",
            "sanfransisco"
        });
        textBox1.AutoCompleteCustomSource = nc;
        textBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
        textBox1.AutoCompleteSource = AutoCompleteSource.CustomSource;


    }

自动完成功能不起作用,我不知道为什么。如果我向数组中添加更多字符串,它们仍然不会出现,并且我尝试将 new AutoCompleteStringCollection() 从私有方法中移出。我在表单属性中也以相同的方式设置了属性。

您是否必须导入某些内容才能使 AutoCompleteMode 工作?

4

1 回答 1

0

AutoCompleteSource上的文档中,您可以找到此注释

AutoCompleteSource 不适用于多行 TextBox 控件。

所以你只能切换到 MultiLine=false 让你的代码工作。

在 NET 上搜索,有多种解决方案可以为多行文本框提供 AutoComplete 的功能,但它们总是包括对 PreviewKeyDown 方法的一些调整

于 2013-07-10T21:08:54.347 回答