在Windows CE中按下一个ENTER按钮会触发Keypress事件两次

时间:2009-03-11 12:04:26

标签: compact-framework windows-ce

在开发过程中,我观察到某些带有Windows CE和可能是Windows Mobile的PDA也在按键事件中发送了两次Enter键,因此我执行了两次代码,该代码位于控件的按键事件下,返回按钮。 / p>

我怀疑这是一个硬件错误,我想问一下如何在不改变应用程序逻辑的情况下解决它。

3 个答案:

答案 0 :(得分:0)

我不知道这是否会有所帮助,但如果您阅读键盘端口,则Enter被视为两个字节而不是一个。

答案 1 :(得分:0)

不改变逻辑?你真的不能(除非有硬件或固件修复)。我猜最简单的机制(需要逻辑更改)是在短时间内处理两个Enter键或按键(比如说< 100ms)然后忽略第二个。

答案 2 :(得分:0)

这也发生在我身上,事实证明这是因为在控制面板 - >键盘中启用了“启用字符重复”选项。对于我们使用的键盘,默认的重复延迟太快了,所以我只是放慢速度,问题就消失了。