禁用 Alt 热键从选择菜单条

本文关键字:选择 菜单 Alt 禁用 | 更新日期: 2023-09-27 18:35:14

所以我为 alt 和其他按钮设置了快捷方式,以将文本插入textbox。但是每当我按 alt 时,它都会选择我的menuStrip并选择了一个菜单项,其中包含一个最接近键盘按下的字母的菜单项。

我试过了:

if (e.KeyCode == Keys.Alt)
{
    handled = true;
}

如本教程所示,但它给我抛出一个错误,说已处理不存在。

禁用 Alt 热键从选择菜单条

Control_KeyDown(object sender, KeyEventArgs e) 
    {
     if (e.Alt)
       {
            e.Handled = false;
       }
    }

尝试使用 KeyDown 事件。

首先处理 KeyDown 事件:

        KeyDown += MainWindow_KeyDown;

在此事件处理程序中,在按下其中一个 ALT 键时,将第二个参数上的 Handle 属性设置为 true。

    void MainWindow_KeyDown(object sender, KeyEventArgs e)
    {
        if (e.Key == Key.System && (e.SystemKey == Key.LeftAlt || e.SystemKey == Key.RightAlt))
        {
            e.Handled = true;
        }
    }