2010-09-03 261 views
3

如何在有人使用类似于的键盘快捷键时运行某种方法Ctrl + G听键盘快捷键(c#)

该应用程序是一个Windows窗体应用程序,我只想在窗体被激活时捕获它。

+1

关于这是否为Winforms应用程序,Silverlight,WPF,控制台应用程序,ASP.NET等的一些暗示有助于 – 2010-09-03 22:15:57

+1

您是否想要执行全局键盘挂钩并拦截任何应用程序中的快捷方式,或仅仅是您的特定应用程序? – 2010-09-03 22:16:20

+0

感谢提示。添加更多详细信息:) – 2010-09-03 22:19:39

回答

1

查看窗体的Form或KeyPress事件上的OnKeyPress方法。

覆盖的OnKeyPress在这样...

protected override void OnKeyPress(KeyPressEventArgs e) { ... } 

...,并期待在KeyPressEventArgs看到被按下哪个键,它是否与Ctrl键按下。

这SO答案显示如何使用KeyPress事件...... Test for 'Ctrl' keydown in C#

+0

如果您有使用键盘焦点的子控件,这将不起作用。 – Tergiver 2010-09-03 23:39:15

4

键盘快捷键通常被称为“命令键”。如果您希望在按键处(在您的子控件之前)首先进行破解,则最好的方法是覆盖表单上的ProcessCmdKey方法。

+0

+1:ProcessCmdKey是一个经常被忽视的重要功能。 – 2010-09-04 03:27:44