2010-10-29 56 views
5

我有一个.NET应用程序与按钮使用数字助记符。 (例如“& 1 - 检查”和“& 2 - 现金”)当我点击Alt + 1时,我希望点击Check按钮。当我在键盘上使用标准数字键时,这将起作用。但是,当我使用数字键盘按Alt + 1时,Windows会接管并插入与“alt code”为1的符号。请参阅http://alt-codes.org/list/。 如何防止这种情况发生在我的应用程序中?如何防止.NET应用程序中的Alt代码?

谢谢!

+2

你可以简单地使用更多的自然记忆法,即使用被选择从选项键字母。 – Lazarus 2010-10-29 16:06:28

回答

2

这可以通过在窗体上启用KeyPreview并处理KeyUp事件来完成。 下面的代码绕过Windows的ALT代码的功能,并导致按钮点击,当我按下Alt + NUMPAD1:

if (e.Alt && e.KeyCode == Keys.NumPad1) 
{ 
    e.Handled = true; 
    button1.PerformClick(); 
} 
1

这个Alt + numkey组合是一个Windows功能(非常有用),你不能绕过它。
我前段时间尝试过这个游戏(你知道......技能栏快捷方式?),我已经做了一些研究......这是不可能的。
我也很乐意看到这种方式!

+0

Holy!@#$(我不能评论其他答案),我很高兴你找到了一个方法! :O仍然,我认为这是一个错误。 ☺编辑:键盘钩甚至没有运行... – Vercas 2010-10-29 20:08:54

1

执行此操作的一种可能方法是使用keyboard hooks,截取按键,然后按照您认为合适的方式进行操作。现在,它会解决上述问题,并停止操作系统插入charcode,我不知道。

相关问题