1
2
我可以解释这种行为,但可能无法提供直接的解决方案。 当你叫秀的时候 窗体中,窗体的事件由默认消息泵处理(该消息泵与要运行的调用一起设置)。调用ShowDialog时,目标窗体将获得自己的独立消息泵。 现在,您添加的过滤器驻留在主消息泵中,它查看那里的所有消息,但是ShowDialog调用绕过了这一点—发送到对话框的消息永远不会到达过滤器。
你能不能不使用ShowDialog的调用,而只是使用Show和一些类似保持表单最顶层的东西?这将允许过滤器获取伪对话框的所有消息。我可以马上想到的另一个选项是对话框的基类,它将通知回过滤器机制,但这开始变得非常难以控制。 |
2
0
|