KeyEventArgs.cs 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. namespace System.Windows.Forms
  2. {
  3. public class KeyEventArgs : EventArgs
  4. {
  5. public virtual bool Alt => (KeyData & Keys.Alt) == Keys.Alt;
  6. public bool Control => (KeyData & Keys.Control) == Keys.Control;
  7. public bool Handled { get; set; }
  8. public Keys KeyCode
  9. {
  10. get
  11. {
  12. Keys keys = KeyData & Keys.KeyCode;
  13. if (!Enum.IsDefined(typeof(Keys), (int)keys))
  14. {
  15. return Keys.None;
  16. }
  17. return keys;
  18. }
  19. }
  20. public int KeyValue => (int)(KeyData & Keys.KeyCode);
  21. public Keys KeyData { get; }
  22. public Keys Modifiers => KeyData & Keys.Modifiers;
  23. public virtual bool Shift => (KeyData & Keys.Shift) == Keys.Shift;
  24. private bool suppressKeyPress;
  25. public bool SuppressKeyPress
  26. {
  27. get => suppressKeyPress;
  28. set
  29. {
  30. suppressKeyPress = value;
  31. Handled = value;
  32. }
  33. }
  34. public KeyEventArgs(Keys keyData)
  35. {
  36. KeyData = keyData;
  37. }
  38. }
  39. public delegate void KeyEventHandler(object sender, KeyEventArgs e);
  40. }