我正在研究C# WinForms 4.5 .NET框架。我使用键盘上和下键的按键事件.当只有一个子表单在MDIForm中打开时,它就能很好地工作,但是当有多个打开的子窗体时,它就失去了焦点,事件也无法工作。
我试着调整窗体的焦点,并调整了向下或向上键,但随后它失去了焦点,并将焦点更改为其他形式。
发布于 2019-09-17 10:35:46
我们必须通过重写KeyEvent方法来停止特定的ProcessCmdKey
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if ((keyData == Keys.Right) || (keyData == Keys.Left) ||
(keyData == Keys.Up) || (keyData == Keys.Down))
{
//Do custom stuff or nothing.
//true if key was processed by control, false otherwise
return true;
}
else
{
return base.ProcessCmdKey(ref msg, keyData);
}
}
https://stackoverflow.com/questions/57952306
复制相似问题