2012-07-24 81 views
0

我不确定“键值”是否正确,因为我相信只有几种格式,我所说的是http://pastebin.com/XJVx1dB5这是格式,其中88 Z等我希望我清楚。将字符(或字符串)转换为键值

我已经尝试了很多东西,但是从转换器类的字符串函数转换是唯一一个远程关闭的。问题是,它将“x”转换为88,但是它无法转换“”或“[”,因为它需要“SPACE”(字符串),而不是我认为的字符。

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

((int)kc.ConvertFromString(s)) 

所以我想要做的是让该矿山的字符进行编码的。我怎样才能做到这一点?

回答

0

试着这么做:

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

字符串是一个“字符数组” - 所以你需要做的啥子是得到的char [在这种情况下,第一个 - 并且将其转换成一个int - 在这种情况下简单地通过铸造。

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

0

如果您查看枚举密钥仔细,你会看到有对[没有价值。

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

此代码:

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

然而,

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

不行,因为[是不是你从转换枚举的有效成员。

一旦你转换了字符串,你想做什么?这可能有助于更好地回答你的问题。