【发布时间】:2017-05-17 09:24:29
【问题描述】:
在我的 UWP 应用中,我通过观察 KeyDown 事件来检测按键。这给了我一个 VirtualKey。但是如何判断这个键是否是修饰键呢?
【问题讨论】:
-
您正在询问您认为哪些是您的解决方案的一部分。你想解决什么问题?通常情况下,当有人在
KeyDown事件处理程序中请求修饰符时,他们已经选择了错误的解决方案。 -
我想检测并响应按键。对于修饰键,我根本不想回应。对于文本键,我可以通过订阅 CharacterReceived 来获取文本。其他按键我无法以这种方式捕获,所以我也订阅了 KeyDown。在那里,我用特定的键做各种事情——不包括修饰符。所以我并没有结束使用这里的信息,但我最终使用了数组,就像在 KeyDown 中一样,我根据按下的修饰符以不同的方式处理它。
-
添加更多上下文 - 这是其他平台上已经存在的应用程序的 Windows 前端。所以它有许多不同的处理程序来处理各种按键。前端的工作只是找出按下了什么,并使用某种合理的映射将其转换为核心的 KeyPress 类型。