按键向上/向下选择文本框C#中的自动完成列表

时间:2016-01-03 13:01:22

标签: c# list autocomplete textbox key

在C#Winforms中,我有一个带有AutoCompleteMode的文本框。当用户键入一些字母时,建议列表会正确填充。但是,如果使用(键盘)向上和向下键选择列表中的项目,则无法浏览项目列表。它只是选择列表中显示的第一项。

另一方面,使用鼠标点击选择工作正常。这是我的代码

name

1 个答案:

答案 0 :(得分:0)

基于密钥的选择存在的问题是它对堆栈包含的项目数非常敏感。一种可能的解决方案是设置KEY_UP和KEY_DOWN仅增加/减少或选择列表中的特定类型。

此外,我相信你可以设置文本框按下它时有特定的响应,你应该考虑,例如,如果用户没有选择(BOOLEAN:false或true)项目而不是选择项目

一个例子

private void textBox1_KeyPress
(object sender,System.Windows.Forms.KeyPressEventArgs e)
{
    // Check for the flag being set in the KeyDown event.
    if (nonNumberEntered == true)
    {
        e.Handled = true;
    }
}

https://msdn.microsoft.com/en-us/library/system.windows.forms.control.keydown(v=vs.110).aspx

如果你想扩展这个想法,这里有一些有用的东西。希望我的回答有帮助