我有带有键盘快捷键的脚本,如下所示:
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 ,因此不会触发此功能?
答案 0 :(得分:5)
每https://en.wikipedia.org/wiki/AltGr_key:
要在此类键盘上键入非英文文本时允许AltGr的特定功能,Windows允许通过同时按Alt键和Control键来模拟它。
...
因此,建议不要将此组合用作Windows键盘快捷键中的修饰符...
所以:不要那样。