KeyEventArgs.KeyData,KeyEventArgs.KeyCode和KeyEventArgs.KeyValue

Bos*_*sak 11 .net c# keycode key-value keyeventargs

我对这个问题KeyEventArgsKeyCodeKeyDataKeyValue. KeyCode并且Keydata是键类型,但我不知道它们之间有什么区别.因为KeyValue,我不知道它是什么 - 它有一个int类型,它是否返回char按下的键的值?

我对Key事件没有多少经验; 任何关于它们如何运作以及如何使用它们的解释将不胜感激.

Fre*_*örk 19

KeyCode包含生成KeyUpKeyDown事件的键的数据.KeyData包含该键与CTRL,SHIFT或ALT的组合(如果其中任何一个被按下).

例:

  • 按住(并按住)CTRL.KeyDown将被提出,KeyCode将是Keys.ControlKey,KeyData将是Keys.ControlKey | Keys.Control.
  • 在按住CTRL的同时按SHIFT键.KeyDown将被提升,KeyCode将来Keys.ShiftKeyKeyData将来Keys.ShifKey | Keys.Shift | Keys.Control.

请注意,KeyData并且KeyCode可以包含Keys枚举中的任何值(例如Keys.A,Keys.NumPad4Keys.Up).请注意,当按下其中一个修改键时,它由两个值表示KeyData(一个用于键,一个用于修饰值).修道院也可通过Modifiers酒店获得.

KeyValue将返回表示键的数值,基本上是表示在中找到的值的整数KeyCode.