2012-04-23 39 views
1

使用.net 2.0有沒有一種方法可以從System.Windows.Forms.Keys代碼中獲取要顯示的文本,例如菜單快捷方式?這些鍵可以由用戶設置,所以它可以是任何鍵組合。這需要使用當地語言(而不僅僅是英語)。如何從System.Windows.Forms.Keys獲取快捷方式文本代碼

我試過KeysConverter.ConvertToString,但結果似乎很無用。例如,它給出了「OemMinus」(用於主鍵盤 - )或「Subtract」(用於NumPad - )。除F1-F12和A-Z之外,我們的用戶很少能理解這些內容。由於該應用程序專門用於訪問計算機的物理難度較大的用戶,因此它使用很多組合鍵作爲一種訪問模式,並且我需要能夠描述鍵盤上的任意鍵。

有沒有一種方法可以獲得對最終用戶有意義的關鍵名稱?

回答

0

這種類型的轉換器被設計爲供您使用,而不是您的用戶。當您爲菜單項使用ShortcutKeys屬性的下拉列表時,您會看到它在運行。因此,它包含可能讓程序員滿意的關鍵名稱,但肯定不是用戶。這就是爲什麼同一個控件還具有ShortcutKeyDisplayString屬性,即用戶實際看到的文本。

你必須自己做。

+0

是的,我們一直在查找字符串資源中的文字,但它在翻譯中被證明非常受打擊,錯過了很多錯誤,我希望有一種更簡單的方法。不管怎麼說,還是要謝謝你。 – 2012-04-25 08:46:18