【发布时间】:2013-03-26 06:22:45
【问题描述】:
我们在 Win32 窗口中托管了一个 WPF 窗口。实现是这样的,当用户按下 CTRL+V 时,剪贴板中的文本在 KeyUp 事件中而不是在 KeyDown 事件中粘贴到 TextBox(由于在 MFC 中托管时对 TextBox 控件的限制)。因此我们重写了 KeyUp 事件来粘贴文本。
但是,在某些机器中,我们注意到在执行 CTRL+V 时文本会被粘贴两次仅一次。进一步调查发现它被粘贴到 KeyDown(默认窗口行为)和 KeyUp 事件(被我们覆盖)。
想知道为什么它只粘贴在 KeyUp 上,即使在某些机器上和在某些机器上同时用于 KeyDown 和 KeyUp?
我们将不胜感激。
-纳扬
【问题讨论】:
-
更多细节 现在为 KeyDown 事件添加了一个处理程序。请注意,除了 CTRL+V、CTRL+C.. 等键的组合之外,所有键都调用了处理程序。使用 CTRL 键按下时,不会为 V 和 C 键调用处理程序..