按Enter键进入自动填充文本框c#后关闭下拉列表

时间:2016-02-13 18:00:36

标签: c# winforms autocomplete textbox

我有一个带自动完成模式的文本框。当我输入任何值时,下拉列表会显示建议项目,我使用向下箭头键向下滚动,当我按下回车键时,所选项目由文本框获取,但下拉列表未关闭。

如果我使用鼠标单击选择建议项目中的任何值,则文本框将选择所选项目,并且下拉列表将自动关闭。点击Enter后如何实现此行为?

我找不到与此问题相关的任何财产。

AutoCompleteStringCollection ac = new AutoCompleteStringCollection();
ac.AddRange(this.Source());

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

1 个答案:

答案 0 :(得分:0)

我发现了这个问题。

这是因为在textBox1_TextChanged事件上。我有一个代码

this.AcceptButton=button1;

要解决这个问题,我删除了以上一行。

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

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