簡體   English   中英

在Compact Framework中將Keys.Enter轉換為char

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM