.net键枚举ToString()使用BackSlash'\'

时间:2011-03-21 14:58:14

标签: c# .net keypress tostring key

我有一个处理具有 KeyEventArgs 参数的按键(KeyDown)的事件。这个班有几个相关成员:

  • 邀请码
  • KEYDATA
  • KEYVALUE

我的问题是:每当我按BackSlash时,我想获得一个单字符“\”的字符串。

每当我在任何上述字符上调用ToString()时,它只返回 Oem5

我知道我可以把它扔进一个巨大的if子句中,但如果可以,我想避免这样做。

谢谢!

1 个答案:

答案 0 :(得分:2)

Keyboard Mapping in .NET提供了答案,但使用KeyPress事件可能比KeyDown更容易。 KeyDown工作在实际键盘的抽象级别(一堆键,根据区域设置和设置而不同,可能有两组不同的数字,您可能希望区分,甚至可能没有如果键是修饰符或死区重音键,则为字符。 KeyPress能够更好地处理输入的实际字符的抽象级别。