Detect if Modifier Key is Pressed in KeyRoutedEventArgs Event

后端 未结 4 799
梦毁少年i
梦毁少年i 2020-12-06 10:55

I have the following code:

public void tbSpeed_KeyDown(object sender, KeyRoutedEventArgs e)
{
    e.Handled = !((e.Key >= 48 && e.Key <= 57) ||         


        
4条回答
  •  自闭症患者
    2020-12-06 11:14

    For Win10 UWP I noticed that the CTRL and SHIFT keys were set at Locked state. So I did the following:

    var shiftState = CoreWindow.GetForCurrentThread().GetKeyState(VirtualKey.Shift);
    var ctrlState = CoreWindow.GetForCurrentThread().GetKeyState(VirtualKey.Control);
    
    var isShiftDown = shiftState != CoreVirtualKeyStates.None;
    var isCtrlDown = ctrlState != CoreVirtualKeyStates.None;
    

提交回复
热议问题