在C#中自动完成文本框中按下回车键后关闭下拉菜单

3
我有一个带自动完成模式的文本框。当我输入任何值时,会出现下拉菜单建议项,我使用向下箭头键向下滚动,然后按回车键,选定的项目将被文本框接受,但下拉菜单不会关闭。
如果我使用鼠标单击选择建议项中的任何值,则选择的项将被文本框接受,并且下拉菜单会自动关闭。如何在我按回车键后实现这种行为?
我没有找到与此问题相关的任何属性。
AutoCompleteStringCollection ac = new AutoCompleteStringCollection();
ac.AddRange(this.Source());

if (textBox1 != null)
{
    textBox1.AutoCompleteMode = AutoCompleteMode.Suggest;
    textBox1.AutoCompleteCustomSource = ac;
    textBox1.AutoCompleteSource = AutoCompleteSource.CustomSource;
}
1个回答

2
我找到了问题。
问题出现在textBox1_TextChanged事件中。我有如下代码:
this.AcceptButton=button1;

为了解决问题,我删除了上述行。

对于活动按钮,我使用了以下代码

    private void textBox1_KeyDown(object sender, KeyEventArgs e)
    {
        if (e.KeyData == Keys.Enter)
        {
            button1_Click(sender, e);
        }
    }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接