在项目中要实现键盘事件,但是有些控件是没有键盘事件的,比如:Panel/PictureBox等控件,后来终于找到实现方法了,
就是重载系统的ProcessCmdKey事件来实现,代码如下:

Code
protected override bool ProcessCmdKey(ref System.Windows.Forms.Message msg, System.Windows.Forms.Keys keyData) //激活回车键
{
int WM_KEYDOWN = 256;
int WM_SYSKEYDOWN = 260;
if (msg.Msg == WM_KEYDOWN | msg.Msg == WM_SYSKEYDOWN)
{
switch (keyData)
{
case Keys.Left:
this.pre();
break;
case Keys.Right:
this.next();
break;
case Keys.Up:
this.pre();
break;
case Keys.Down:
this.next();
break;
}
}
return false;
}
如有其它要求,可自行扩展,呵呵