2012-04-23 37 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