4

我知道如何获取在 C# 中按下了哪个修饰键,但我不知道如何实际检查是否按下了任何修饰键。我需要在KeyUp事件中检查它,除了做类似的事情之外还有其他方法if(e.KeyCode != Keys.Control && e.KeyCode != Keys.Alt && ...)吗?谢谢。

4

3 回答 3

11
if ((Control.ModifierKeys & Keys.Shift) != 0) 

将帮助您检测是否按下了修饰键(例如ctrlshift)。检查下面的帖子以供参考:

如何检测当前按下的键?

于 2011-04-08T18:42:52.800 回答
3

要确保没有按下修饰键,您可以检查 ModifierKey 是否等于 Keys.None。

if (ModifierKeys == Keys.None) ...
于 2015-12-03T14:58:52.333 回答
1

KeyEventArgs类具有您可以检查的属性。例如,要查看是否按下了 Alt 键,您可以编写:

if (e.Alt)
{
    // Alt key was pressed
}
于 2011-04-08T18:46:12.933 回答