将char(或字符串)转换为它的键值

时间:2012-07-24 02:27:44

标签: c# key keycode

我不确定“关键值”是否是正确的词,因为我相信的格式很少,我所说的是http://pastebin.com/XJVx1dB5这是格式,其中88是Z等。我希望我清楚。

我尝试了很多东西,但是从密钥转换器类的字符串函数转换是唯一一个远程关闭的。问题是,它根据我的意愿将“x”转换为88,但它无法转换“”或“[”,因为它期望“SPACE”(字符串)而不是单个空格作为我相信的字符。

我这样使用它,也许有另一个(正确?)版本使用它:

((int)kc.ConvertFromString(s))

所以我想做的就是把我的那些字符编成代码。我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:0)

尝试类似:

 var stringValue = " ";
 var intValue = (int)stringValue[0];

字符串是一个'字符数组' - 所以你需要做的是获取char [在这种情况下是第一个] - 并将其转换为int - 在这种情况下只需通过强制转换。

如果你想用enum做,那么你将不得不编写一个手动系统来将“”转换为Keys.Space。

答案 1 :(得分:0)

如果您仔细查看枚举键,您会发现[没有值。

事实上,该字符(在我的键盘上)被报告为Oem4。

此代码有效:

var c = kc.ConvertFromString("Oem4");

然而,

var c = kc.ConvertFromString("[");

无效,因为[不是您要转换的枚举的有效成员。

转换字符串后,您想要做什么?这可能有助于更好地回答您的问题。