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

And*_*eek 5 .net mnemonics

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

谢谢!

And*_*eek 2

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

if (e.Alt && e.KeyCode == Keys.NumPad1)
{
     e.Handled = true;
     button1.PerformClick();
}
Run Code Online (Sandbox Code Playgroud)