跳到底部的问题;这只是一些额外的信息
我正在使用一个组件(GeckoFX)来渲染一些网站,很好,但它只能在 Windows 窗体中使用;因为它必须绑定到可以绘制的 WinForms 对象。因为所有 WinForm 都在同一个线程中运行,所以我一次只能使用一个 GeckoFX 实例;所以我决定以 WinForm 的形式创建一个“工人阶级”,并在其中添加所有逻辑。该表单不需要与主表单进行通信。
现在我可以启动 10 个窗口,它们最终会工作,但是每个新表单都会在所有其他表单处理完所有 GeckoFX 事件之前等待,因为您不能在一个线程上使用多个实例。此外,浏览器必须在 UIThread 上。所以:
是否可以创建多个 UI 线程(每个表单一个)?
我见过有人这样做([编辑:删除“坏”链接]),但没有人让他的代码示例正常工作。让它工作的人最初使用某种形式的自定义消息泵来做这种事情,但我不知道如何实现这样的事情。