我正在开发具有两个 Windows 窗体的 C# 应用程序。两种形式都是全屏的,一种形式位于另一种形式的顶部作为透明覆盖。底部表单包含一个网络浏览器(也是全屏浏览器)。我正在跟踪透明覆盖表单上的触摸输入,以便在屏幕上捕获手势并绘制按钮和其他控件。我需要做的是将覆盖表单在其 WndProc 函数中获取的所有 Windows 消息发送到下面的表单(或表单中的 Web 浏览器控件,因为基本上所有较低的表单都用于包含)。
基本上我只需要处理叠加层上的手势,所有鼠标消息仍需要传输到 Web 浏览器以提供某些功能。
鉴于来自叠加层的消息,我尝试了仅调用较低形式的 WndProc 方法的天真方法。(同样,我尝试将其进一步传递给浏览器控制窗口的 WndProc)。这些方法都不起作用。我还尝试在尝试此操作时将 Message 对象的 HWnd 参数简单地交换为较低表单/浏览器的句柄,但这也没有奏效。
那么,是否有人能够想出更多尝试的方法,或者可能是在表单之间传递 Windows 消息的正确方法?
谢谢,亚历克斯