在C#Winforms程序中禁用F10键将焦点移动到菜单栏

Dan*_*n W 9 c# focus winforms

当我在程序中按F10时,焦点将从我的主程序窗口中丢失,然后移动到菜单栏.事实证明,这种奇怪的行为在许多Windows应用程序中很常见.

我觉得它很难看,因为Alt键做同样的事情,我们失去了一个宝贵的功能键.为什么Windows会这样做,我如何解决我的C#应用​​程序的情况?

Mar*_*all 12

使用表单的KeyDown事件,并处理击键:

private void form_KeyDown(object sender, KeyEventArgs e)
{ if(e.KeyData == Keys.F10)
    {
        // Do what you want with the F10 key
        e.SuppressKeyPress = true;
    }
}
Run Code Online (Sandbox Code Playgroud)

还要确保您的表单KeyPreview设置为true.