按键事件“ AltGr + S”被视为“ Ctrl + alt + s”

时间:2018-10-11 10:50:57

标签: c#

我有带有键盘快捷键的脚本,如下所示:

private void MainView_KeyDown(object sender, KeyEventArgs e)
{
    if (e.Control && e.KeyCode == Keys.S)
    {
      backstageViewButtonItem_Save_ItemClick(null, null);
    }
    if (e.Control && e.Alt && e.KeyCode == Keys.S)
    {
      backstageViewButtonItem_SaveAs_ItemClick(null, null);
    }
}

问题: 当我按 AltRs + s 时,将触发我的保存功能。看来 AltRs 被视为 ctrl + alt

是否有可能认识到仅按下了 alt 而不是按下 ctrl + alt ,因此不会触发此功能?

1 个答案:

答案 0 :(得分:5)

https://en.wikipedia.org/wiki/AltGr_key

  

要在此类键盘上键入非英文文本时允许AltGr的特定功能,Windows允许通过同时按Alt键和Control键来模拟它。

...

  

因此,建议不要将此组合用作Windows键盘快捷键中的修饰符...

所以:不要那样。