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也不是按下的。

原文地址:https://www.cnblogs.com/ListenFly/p/3248069.html