3
フォームを別のスレッドに配置する必要があるテストアプリケーションを作成しています。Form.Ownerは.NET 3.5の別スレッドから設定しました
メインスレッドからフォームウィンドウを作成し、その.Owner =を設定するとすべてが機能します。 スレッドUIThreadを生成し、新しいスレッドからオーナーを設定すると例外が発生します。 フォームに直接アクセスできないため、例外を取得することは理解できます。 私の質問は、メインスレッドを捕まえてメッセージポンプにプッシュするBeginInvokeを行う必要があるというメッセージですか? UIForm ShowInTaskbarがfalseに設定されているので、タスクバーのメインアプリケーションをクリックして、すべての子ウィンドウで復元する必要があります。
private void UIThread() // New Thread call
{
UIForm form = new UIForm();
form.ShowInTaskbar = false;
form.Owner = this;
Application.Run(form); // Expected Exception
}
これを回避するには、SetParentをピンボケする必要があります。最善のことはこれをしないことです。 –