Csharp/C#教程:Combobox onkeypress事件的自动完成function会占用Enter键分享


Combobox onkeypress事件的自动完成function会占用Enter键

我有一个ComboBox与AutoCompleteMode = suggest并处理KeyPress事件,如下所示:

 private void searchBox_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == (char)Keys.Return) { // do stuff } } 

但是,它没有捕获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; } 

但是,即使表单的处理程序没有捕获回车键!

有什么建议?

(如果我禁用自动完成function,它会捕获Enter键)

KeyDown和KeyPress之间的区别

在您的情况下,您可能做的最好的事情是使用KeyDown事件。

 void SearchBox_KeyDown(object sender, KeyEventArgs e) { if(e.KeyCode == Keys.Enter) { // Do stuff } } 

关于KeyPress事件的另一个有趣的事情是:如果combobox没有项目,它甚至可以使用autocompete捕获Enter键! ?

上述就是C#学习教程:Combobox onkeypress事件的自动完成function会占用Enter键分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/991186.html

(0)
上一篇 2021年12月23日
下一篇 2021年12月23日

精彩推荐