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