从OnKeyDown替代中,您可以通过编程方式确定将从其相应的E.Key值显示的字符(如果有)



在不同机器上,在OnKeyDown覆盖中,e.Key值不一定一致。例如,在我的Mac运行Win7-64下,在启动训练营下,Backslash键报告为Key.OemQuote,而不是人们期望的Key.OemBackslash,这是没有意义的,考虑到这甚至不是同一键。在同事的戴尔(Dell)上,这完全据报道。

然而,在两种情况下,键入时的正确反斜线字符都出现在文本框中,因此OS显然以某种方式知道这是与键相关的字符。

我们正在尝试确定是否在特定系统上给定一个键代码,您可以获得相应的字符(如果有),则键代表的(假设不按下任何修饰符。)

注意:我已经意识到 OnPreviewTextInputOnTextInput涉及键入字符的事件,但这不是我要问的。

i am 专门询问将键代码作为参数的函数,并返回如果要按下该键在屏幕上显示的字符。

例如,在我的计算机上,该功能将采用Key.OemQuote,并将返回后斜击字符。通过Key.Control传递将返回null(因为单独按控制时实际上没有出现任何东西。)

注意:我已经提出了另一个有关处理不同密钥代码的问题,这些密码可能看起来与此问题相似,但是这是一个非常具体的独立问题,该问题与采用此类代码并返回字符的函数有关因此,请不要将其标记为重复。不是。

我认为该线程中的答案适用。

还查看mapvirtualkeypinvoke

相关内容

  • 没有找到相关文章

最新更新