C# · 12月 23, 2021

c# – 在KeyRoutedEventArgs事件中检测到修饰符键是否被压缩

我有以下代码: public void tbSpeed_KeyDown(object sender,KeyRoutedEventArgs e){ e.Handled = !((e.Key >= 48 && e.Key <= 57) || (e.Key >= 96 && e.Key <= 105) || (e.Key == 109) || (e.Key == 189));}

是否有任何方法来检测是否有任何修改键如shift被按下?

解决方法 使用 GetKeyState. var state = CoreWindow.GetForCurrentThread().GetKeyState(VirtualKey.Shift);return (state & CoreVirtualKeyStates.Down) == CoreVirtualKeyStates.Down;

注意:对于Alt,您将使用VirtualKey.Menu.