键事件'AltGr + S'被视为'Ctrl + alt + s'

Goh*_*anP 1 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);
    }
}
Run Code Online (Sandbox Code Playgroud)

问题:当我按AltRs+ s然后触发我的保存功能.它看起来像AltRs被视为ctrl+ alt.

有没有可能认识到它只是alt按下而不是ctrl+ alt,所以这个功能不会被触发?

Rog*_*mbe 5

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

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

...

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

所以:不要这样做.