如何使用向下箭头键在组合框中 select 建立索引?

how to select index in a combobox using DOWN ARROW key?

I want this functionality我的组合框有多个值。例如:RJ11、RJ12、RJ13等。 AutoCompleteMode 设置为追加,AutoCompleteSource 设置为 listItems。我想要的只是当我在组合框中键入 rj 它会在组合框的文本字段中建议我 rj11 并且当我按下向下箭头键时它应该 select rj11 但它正在做的是它一直在搜索下一个可能的匹配项。

我试过了:

private void comboBox1_KeyDown(object sender, KeyEventArgs e)
    {
        if(e.KeyCode == Keys.Down)
        {
            comboBox1.SelectedIndex = comboBox1.FindStringExact(comboBox1.Text);
        }
    }

但它不起作用。 我是 winform 和编程的新手。 请帮忙。 是的,抱歉我的英语不好。

您可以尝试参考下面的代码select组合框中的索引,使用向下键

我们可以覆盖您表单中的 ProcessCmdkey 方法。

代码:

protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
        {
            if ((this.ActiveControl == comboBox1) && (keyData == Keys.Down))
            {
                comboBox1.SelectedIndex = comboBox1.FindStringExact(comboBox1.Text);
                return true;
            }
            else
            {
                return base.ProcessCmdKey(ref msg, keyData);
            }
        }