如何使用向下箭头键在组合框中 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);
}
}
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);
}
}