gpt4 book ai didi

.net - 检测整个窗口的箭头键-KeyDown

转载 作者:行者123 更新时间:2023-12-04 01:50:10 29 4
gpt4 key购买 nike

我有一个WinForms表单(C#/。Net),它包含一个PictureBox,MenuStrip,Panel和两个Button控件。

我需要为整个窗口的箭头键检测KeyDown事件;即,当窗口位于前景中时,无论哪个子控件具有焦点,我都需要知道何时按下箭头键,并在发生时执行一些代码。

我不想为每个控件附加一个事件处理程序。有没有更好的办法?我该怎么做?

编辑:通过使用下面的答案建议的KeyPreview,我可以检测到其他键。无法检测箭头键。仅当表单中的按钮被禁用时,我才能检测到箭头键。否则,他们会来回集中注意力,而不触发事件。如何使用表单上的按钮检测箭头键?

最佳答案

重写ProcessCmdKey()方法以检测箭头键。

    protected override bool ProcessCmdKey(ref Message msg, Keys keyData) {
if (keyData == Keys.Left) {
Console.WriteLine("left");
return true;
}
// etc..
return base.ProcessCmdKey(ref msg, keyData);
}

关于.net - 检测整个窗口的箭头键-KeyDown,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4378865/

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