2011-03-13 61 views
11

有沒有辦法確定一個密鑰是否是KeyEventArgs中的字母/數字(A-Z,0-9)?或者我必須自己做?我用e.KeyCode找到了一個方法,那是否準確?我可以確定一個KeyEventArg是一個字母還是數字?

if(((e.KeyCode >= Keys.A  && e.KeyCode <= Keys.Z) 
|| (e.KeyCode >= Keys.D0  && e.KeyCode <= Keys.D9) 
|| (e.KeyCode >= Keys.NumPad0 && e.KeyCode <= Keys.NumPad9)) 
+0

如何定義字母?只有A-Z或其他語言的字母呢?數字也一樣。而且鍵甚至不是字符(鍵和字符之間沒有1對1的對應關係),所以它不能是字母/數字。 – CodesInChaos

+2

你無法從KeyDown事件中知道這一點。只有在虛擬鍵與用戶的鍵盤佈局一起轉換後,你才知道。改爲使用KeyPressed事件。 –

回答

9
+1

['Char'](http://msdn.microsoft.com/zh-cn/library/424s1h3z.aspx)中有很多類似的東西。 –

+1

好吧,不知道那個!很好的答案。 – Andr

6

在WPF?使用PreviewTextInput或TextInput事件代替KeyDown

+0

顯然不是WPF。 –

相關問題