gpt4 book ai didi

c# - Combobox 上的自动完成 onkeypress 事件吃掉了 Enter 键

转载 作者:太空狗 更新时间:2023-10-30 00:57:36 25 4
gpt4 key购买 nike

我有一个带有 AutoCompleteMode = suggest 的 ComboBox 并像这样处理 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;
}

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

有什么建议吗?

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

最佳答案

Difference between KeyDown and KeyPress

在您的情况下,最好的办法是使用 KeyDown 事件。

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

关于 KeyPress 事件的另一个有趣的事情是:如果组合框没有项目,它甚至可以捕获带有自动竞争的 Enter 键! :-)

关于c# - Combobox 上的自动完成 onkeypress 事件吃掉了 Enter 键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4760791/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com