2014-03-12 99 views
0

編輯:我重寫了問題以使其可以理解。將讀取按鍵壓入字符串

我想在我的WPF應用程序中捕獲某些按下的鍵,所以我在我的主窗口中註冊了一個事件處理程序。

public MainWindow() 
{ 
    InitializeComponent(); 
    this.KeyDown += new KeyEventHandler(OnButtonKeyDown); 
} 

事件處理程序本身看起來像這樣。

private void OnButtonKeyDown(object sender, KeyEventArgs e) 
{ 
    // I'd like the char value here. 
} 

我的問題是,我無法提取被按下的鍵的字符。只有關鍵代碼。 KeyEventArgs顯然沒有這樣的屬性。

有沒有解決方案?

+0

難道你只是使用'var keyPress = Console.Read()'?也許我在這裏錯過了你的目標...... –

+0

你想要角色價值嗎?在這種情況下'Console.WriteLine(「Your key is:{0}」,(int)keypress.KeyChar)' –

+0

呃......有人編輯了這個問題,所以它不再說它是一個WPF應用程序,而不是一個控制檯應用程序 – Anders

回答

3

我相信你需要使用行e.Key.ToString()來獲取按下的鍵的字符值。然後你可以使用Char.TryParse(字符串輸入,out charValue)來驗證你有一個有效的字符,而不是像「Numpad0」。

+0

它可能適用於某些鍵,但如果你這樣做,你可能也會得到像'Numpad0'這樣的結果,而不是0。 – Anders

+0

請參閱我的答案中的其他說明。 – Beaker