PreviewKeyDownEventArgs.cs 1.2 KB

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