如何禁用模式对话框'按键事件的过滤

本文关键字:事件 过滤 何禁用 模式 对话框 | 更新日期: 2023-09-27 18:16:23

我遇到了一个奇怪的问题,似乎必须追查以下根本原因。环境c#NET 2.0):

我的代码是使用一些供应商的框架,并在一次打开一个模态对话框。似乎框架正在过滤应用程序的"Enter"按键(可能是通过实现IMessageFilter)。因此,按下"确定"按钮关闭对话框会导致奇怪的行为——通过鼠标点击"确定"按钮关闭对话框效果很好。不幸的是,修改框架的代码是不可行的。所以我想禁用框架在我的对话框中注意到"Enter"(可能还有"ESC")按键。有人知道怎么做吗?

编辑:

我"解决"了这个问题。

如何禁用模式对话框'按键事件的过滤

我"解决"了这个问题。这是未来参考的解决方案:设置表单的(这是在模态对话框中创建的)FormBorderStyle属性为FormBorderStyle。FixedDialog解决了这个问题。是的,这是Cargo-Cult-Programming的典型案例,但是经过彻底的测试,修复程序可以可靠地工作。

创建一个javascript文件,在按下enter键时输入键,并在模态上执行ok事件。只要确保你的javascript在应用程序中的所有其他javascript之上,它应该首先启动。