[英]Convert Keys.Enter to char in Compact Framework
我需要將Keys.Enter
轉換為char。
這在緊湊框架中不起作用: 將System.Windows.Forms.Keys的序列轉換為Char (KeyInterop.VirtualKeyFromKey)
還有其他想法嗎?
進一步說明:我更喜歡使用枚舉而不是魔術數字/字符。 我不想使用自己的枚舉MyKeys.Enter(等於'\\ r \\ n'),而是想使用MS所做的事情。
Keys.Enter只是一個示例。
我打算這樣做以比較KeyPressEventArgs.KeyChar。 這就是為什么我試圖將其與char進行比較。
Key枚舉中的鍵是虛擬鍵。 在Windows使用當前活動的鍵盤布局翻譯它們之前,它們不會變成字符。 根據用戶的喜好和語言的不同,一台機器的細節各不相同。 很可能您的軟件正在運行的特定類型的移動設備。 同樣,許多虛擬鍵不產生字符,Keys.F1就是一個明顯的例子。
您應該真正避免自己將虛擬鍵轉換為字符,這是錯誤的。 Windows已經翻譯了Keys.Enter,它將生成e.KeyChar ='\\ r'的KeyPressed事件。 無論如何,在大多數機器上。
如果要檢測快捷鍵,請使用KeyDown。 鍵入產生字符的鍵需要KeyPressed。
如果在文本字段中鍵入,則
Keys.Enter
為
"\\r\\n"
。
通過首先獲取Keys
值,按位並使用Keys.KeyCode
將其轉換為uint
以獲得虛擬鍵碼,您應該能夠獲得字符。 然后將其傳遞給MapVirtualKey以將其轉換為字符。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.