Vic*_*mar 4 .net c# autocomplete winforms c#-2.0
我有一个ComboBox,AutoCompleteMode = suggest并处理KeyPress事件,如下所示:
private void searchBox_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == (char)Keys.Return)
{
// do stuff
}
}
Run Code Online (Sandbox Code Playgroud)
但是,它没有抓住Enter关键.它可以捕获其他所有内容,因为自动完成下拉列表工作正常.
我也尝试了这里提供的建议:http://social.msdn.microsoft.com/Forums/en-US/netfxbcl/thread/2db0b540-756a-4a4f-9371-adbb92409806,将表单的KeyPreview属性设置为true并放置断点在窗体的KeyPress事件处理程序中:
private void Form_KeyPress(object sender, KeyPressEventArgs e)
{
e.Handled = false;
}
Run Code Online (Sandbox Code Playgroud)
但是,即使表单的处理程序没有捕获回车键!
有什么建议?
(如果我禁用自动完成功能,它会捕获Enter键)
在您的情况下,您可能做的最好的事情是使用KeyDown事件.
void SearchBox_KeyDown(object sender, KeyEventArgs e)
{
if(e.KeyCode == Keys.Enter)
{
// Do stuff
}
}
Run Code Online (Sandbox Code Playgroud)
关于KeyPress事件的另一个有趣的事情是:如果组合框没有项目,它甚至可以使用autocompete捕获Enter键!:-)
| 归档时间: |
|
| 查看次数: |
13179 次 |
| 最近记录: |