2012-07-24 28 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("["); 

不行,因爲[是不是你從轉換枚舉的有效成員。

一旦你轉換了字符串,你想做什麼?這可能有助於更好地回答你的問題。