如何在.NET应用程序中阻止Alt代码?

时间:2010-10-29 16:03:08

标签: .net mnemonics

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

谢谢!

3 个答案:

答案 0 :(得分:2)

这可以通过在表单上启用KeyPreview并处理KeyUp事件来完成。 以下代码绕过Windows alt代码功能,并在按下Alt + NumPad1时单击按钮:

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

答案 1 :(得分:1)

这个Alt + numkey组合是一个Windows功能(非常有用),你无法绕过它 我刚刚在玩游戏时尝试了这个(你知道......技能栏快捷方式?☺)我做了一些研究......这是不可能的。
我也很高兴看到这方面的方法!

答案 2 :(得分:1)

执行此操作的一种可能方法是使用keyboard hooks,拦截按键,然后按照您的意愿行事。现在,它会解决上述问题,并阻止操作系统插入charcode,我不知道。