所以在过去的一天左右,我一直在修复一个由模式对话框引起的错误。我在一个通过 Windows 消息泵与服务器通信的应用程序上工作。当我使用 ShowDialog() 显示模态表单时,消息泵被阻止并且我的任何消息都没有被处理,但它们确实在队列中建立(预期行为)。
但是,我最近注意到,如果通过菜单项的单击事件打开模式窗体,则消息将被泵送到主窗体并进行处理。有谁知道为什么当通过菜单项的单击事件显示模态表单时这些消息没有被阻止?
编辑:我应该注意到我正在使用 C#。这个怎么样; 如果没有人能回答这个问题,谁能告诉我如何自己调查这个问题?我唯一能想到的就是查看调用堆栈。不幸的是,这还没有告诉我任何事情。