WPF之监听组合键事件
private void KeyDown(object sender, KeyEventArgs e) { if (e.Key== Key.Up && Keyboard.Modifiers== ModifierKeys.Alt) { } }
上述代码看起来蛮正常,但是很遗憾,当我们按下向上键和Alt键时候是无效的,可是当按下Ctrl和向上键就是ok的,很是无语,好在有了下边的代码。
private void KeyDown(object sender, KeyEventArgs e) { if (e.KeyStates == Keyboard.GetKeyStates(Key.Up) && Keyboard.Modifiers == ModifierKeys.Alt) { MessageBox.Show("ddddd"); } }
这样就是ok的,另外监听这样的事件最好不要调试,应该是最好不要在判断之前加上断点,这样不知道为什么Key也不是按下的。