C# 组合键判断

e.KeyboardDevice.Modifiers

同时按下了Ctrl + H键(H要最后按,因为判断了此次事件的e.Key)
修饰键只能按下Ctrl,如果还同时按下了其他修饰键,则不会进入

1 private void TextBox_KeyDown(object sender, KeyEventArgs e)
2 {
3   if (e.KeyboardDevice.Modifiers == ModifierKeys.Control && e.Key == Key.H)
4   {
5   }
6 }

e.KeyboardDevice.Modifiers.HasFlag

同时按下了Ctrl + H键(H要最后按,因为判断了此次事件的e.Key)
修饰键只要按下了Ctrl,不管按没按其他修饰键,都会进入

1 private void TextBox_KeyDown(object sender, KeyEventArgs e)
2 {
3   if (e.KeyboardDevice.Modifiers.HasFlag(ModifierKeys.Control) && e.Key == Key.H)
4   {
5   }
6 }

Keyboard.IsKeyDown(Key.xx)

只要当下同时按下的键中包含LeftCtrl和H,就会进入

1 if (Keyboard.IsKeyDown(Key.LeftCtrl) && Keyboard.IsKeyDown(Key.H))
2 {
3 
4 }

 

posted @ 2020-08-24 18:13  唐宋元明清2188  阅读(755)  评论(0编辑  收藏  举报