別のスレッドからWinFormsオブジェクトを呼び出すとform.show()
、フォームは例外をスローします。メインのアプリスレッドに新しい表示可能なフォームを追加する方法はどこにありますか?それ以外の場合、現在実行中のスレッドを停止せずにフォームを開くにはどうすればよいですか?
これが私のサンプルコードです。スレッドを開始してから、そのスレッド内でいくつかの作業を実行しようとしています。作業が進むにつれて、フォームを表示します。
public void Main()
{
new Thread(new ThreadStart(showForm)).Start();
// Rest of main thread goes here...
}
public void showForm()
{
// Do some work here.
myForm form = new myForm();
form.Text = "my text";
form.Show();
// Do some more work here
}