C#:在KeyDown事件中,我应该使用什么来检查键是什么?

Svi*_*ish 5 c# keyboard

在KeyDown事件中,我有KeyEventArgs可以使用.它具有(除其他外)这三个属性:

  • e.KeyCode
  • e.KeyData
  • e.KeyValue

我应该使用哪一个?

Ric*_*lay 12

编辑:不知何故,我误读了你的问题,包括检查一个有效的字符.你修改过了吗?我已经添加了每个的描述.

  • KeyCode是关闭键的Keys枚举值
  • KeyData与KeyCode相同,但与任何SHIFT/CTRL/ALT键组合在一起
  • KeyValue只是KeyCode的整数表示

如果你只需要角色,我可能会建议使用KeyPress事件并使用KeyPressEventArgs.KeyChar财产.然后,您可以使用Char.IsLetterOrDigit()来确定它是否是有效字符.

或者,您可以将KeyEventArgs.KeyCode转换为char,然后对其使用Char.IsLetterOrDigit.