首页 文章

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

提问于
浏览
0

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

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

我找不到与此问题相关的任何 property .

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

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

1 回答

  • 0

    我发现了这个问题 .

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

    this.AcceptButton=button1;
    

    要解决,我删除了上面的行 .

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

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

相关问题