解决方法
您可以为应用程序创建基本表单,并将keypreview属性设置为true并处理keydown事件,以便所有表单都具有相同的键定义.
您还可以使用以下例程为表单注册热键,但在此方法中,您需要在每个表单的load事件上调用相同的方法.
protected override bool ProcessCmdKey(ref Message message,Keys keys) { switch (keys) { case Keys.F2 | Keys.Control: //Process action here. return false; } return false; }
您也可以使用user32.dll中的以下非托管方法,但我当然不建议这样做.
static extern bool RegisterHotKey(IntPtr hWnd,int id,uint fsModifiers,uint virtualKey); private static extern bool UnregisterHotKey(IntPtr hWnd,int id);