无法触发事件Key_Down c#

时间:2016-07-07 07:39:04

标签: c# winforms keydown

我使用表单事件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个控制panelcontrol4事件工作,但我添加了1个控件,例如:simplebutton1 ...然后就不能激活Form1_KeyDown。然后我必须启用= false simplebutton1,然后Form1_KeyDown工作

谢谢你的帮助

enter image description here

enter image description here

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

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

答案 2 :(得分:0)

我解决了我的问题,我必须覆盖事件 KeyDown PreviewKeyDown @Matthew Watson