我有一个.NET应用程序与按钮使用数字助记符。 (例如“& 1 - 检查”和“& 2 - 现金”)当我点击Alt + 1时,我希望点击Check按钮。当我在键盘上使用标准数字键时,这将起作用。但是,当我使用数字键盘按Alt + 1时,Windows会接管并插入与“alt code”为1的符号。请参阅http://alt-codes.org/list/。 如何防止这种情况发生在我的应用程序中?如何防止.NET应用程序中的Alt代码?
谢谢!
我有一个.NET应用程序与按钮使用数字助记符。 (例如“& 1 - 检查”和“& 2 - 现金”)当我点击Alt + 1时,我希望点击Check按钮。当我在键盘上使用标准数字键时,这将起作用。但是,当我使用数字键盘按Alt + 1时,Windows会接管并插入与“alt code”为1的符号。请参阅http://alt-codes.org/list/。 如何防止这种情况发生在我的应用程序中?如何防止.NET应用程序中的Alt代码?
谢谢!
这可以通过在窗体上启用KeyPreview并处理KeyUp事件来完成。 下面的代码绕过Windows的ALT代码的功能,并导致按钮点击,当我按下Alt + NUMPAD1:
if (e.Alt && e.KeyCode == Keys.NumPad1)
{
e.Handled = true;
button1.PerformClick();
}
这个Alt + numkey组合是一个Windows功能(非常有用),你不能绕过它。
我前段时间尝试过这个游戏(你知道......技能栏快捷方式?),我已经做了一些研究......这是不可能的。
我也很乐意看到这种方式!
Holy!@#$(我不能评论其他答案),我很高兴你找到了一个方法! :O仍然,我认为这是一个错误。 ☺编辑:键盘钩甚至没有运行... – Vercas 2010-10-29 20:08:54
执行此操作的一种可能方法是使用keyboard hooks,截取按键,然后按照您认为合适的方式进行操作。现在,它会解决上述问题,并停止操作系统插入charcode,我不知道。
你可以简单地使用更多的自然记忆法,即使用被选择从选项键字母。 – Lazarus 2010-10-29 16:06:28