예제 #1
0
 public void GetKeyDown(object sender, KeyEventArgs e)
 {
     if (mclass.isEnabledAllKeys)
     {
         if ((e.Key >= Key.D0 && e.Key <= Key.Z) || (e.Key >= Key.Oem1 && e.Key <= Key.OemBackslash) || e.Key == Key.Space)
         {
             mclass.CurrentKeyArg = e;
         }
         var mybutton = (Button)this.FindName(e.Key.ToString());
         if (mybutton != null && e.Key != Key.Capital)
         {
             typeof(Button).GetMethod("set_IsPressed", BindingFlags.Instance | BindingFlags.NonPublic).Invoke(mybutton, new object[] { true });
         }
         else if (e.Key == Key.Capital)
         {
             Capital.RaiseEvent(new RoutedEventArgs(Button.ClickEvent)); //CapsLock Push Pull event
         }
         else if (e.Key == Key.System)                                   //this is for Alt buttons because they are same code
         {
             typeof(Button).GetMethod("set_IsPressed", BindingFlags.Instance | BindingFlags.NonPublic).Invoke(SystemL, new object[] { true });
             typeof(Button).GetMethod("set_IsPressed", BindingFlags.Instance | BindingFlags.NonPublic).Invoke(SystemR, new object[] { true });
         }
     }
     e.Handled = true;
 }