无法触发事件 Key_Down c#

Can't fire event Key_Down c#

我使用表单事件 Form1_KeyDown 移动 panelcontrol4

Private void Form1_KeyDown(object sender, KeyEventArgs e)
{
     if (e.KeyCode == Keys.Left)
     {
        panelControl4.Location = new Point(panelControl4.Location.X-1,panelControl4.Location.Y);
     }
}

如果 Form1 有 1 个控制面板控制事件有效,但我添加了 1 个控件,例如:simplebutton1 ... 然后无法触发 Form1_KeyDown。然后我必须 enable = false simplebutton1 ,然后 Form1_KeyDown work

感谢您的帮助

表单上的控件可能会自动处理按键事件,并且不会调用您的代码。参见 Control.KeyDown Event

一般情况下 _KeyDown 会在控件具有 focus 时按下某个键时发生。在您的情况下, Form1 在按键发生时没有焦点。

我解决了我的问题,我必须覆盖事件 KeyDownPreviewKeyDown @马修·沃森