質問の一番下までスキップしてください。これは単なる追加情報です
コンポーネント (GeckoFX) を使用していくつかの Web サイトをレンダリングしていますが、これは Windows フォームでしか使用できません。描画できる WinForms オブジェクトにバインドする必要があるためです。すべての WinForms が同じスレッドで実行されているため、一度に 1 つの GeckoFX インスタンスしか使用できません。そこで、WinForm の形式で「ワーカー クラス」を作成し、そこにすべてのロジックを追加することにしました。フォームは、メイン フォームと通信する必要はありません。
これで 10 個のウィンドウを起動でき、最終的には機能しますが、1 つのスレッドで複数のインスタンスを使用できないため、他のすべてのフォームがすべての GeckoFX イベントを処理する前に、すべての新しいフォームが待機します。さらに、ブラウザは UIThread 上にある必要があります。そう:
複数の UI スレッド (フォームごとに 1 つ) を作成することはできますか?
私は誰かがそれをやっているのを見たことがあります ([編集: '悪い' リンクを削除しました]) が、誰も彼のコード サンプルを動作させたことはありません。それを機能させた人は、もともとこの種のことを行うために何らかの形のカスタムメッセージポンピングを使用していましたが、そのようなことを達成する方法はわかりません.