Detect if Modifier Key is Pressed in KeyRoutedEventArgs Event

后端 未结 4 830
梦毁少年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:31

    You can try the following code

    CoreVirtualKeyStates controlKeyState = Window.Current.CoreWindow.GetKeyState(VirtualKey.Control);
    var  ctrl = (controlKeyState & CoreVirtualKeyStates.Down) == CoreVirtualKeyStates.Down;
    
    CoreVirtualKeyStates shiftKeyState = Window.Current.CoreWindow.GetKeyState(VirtualKey.Shift);
    var shift = (shiftKeyState & CoreVirtualKeyStates.Down) == CoreVirtualKeyStates.Down;
    

提交回复
热议问题