からフォームを表示する方法(私のフォームの名前はMainFormをです):私はC#ののWinFormsアプリに別々のスレッドでこのコードを実行している別のスレッド
DisplayDownload form2 = new DisplayDownload();
form2.TopMost = true;
form2.Show();
しかし、スレッドが起動されると、フォームは決して開きません。私のアプリケーションのメインスレッドにコードを移動すると、それは正常に開きますが、自分のスレッドとして起動すると、フォームは決して開きません。
私はこの記事から受け入れ答え使用してみました:Calling a windows form from another thread (.Net)をしかし、私はこのエラーを取得:
は「System.Delegate」と入力し、匿名メソッドを変換できません、それはデリゲート型でないため
ここでは、私が利用しようとしているコード:
MainForm.Invoke(delegate {
DisplayDownload form2 = new DisplayDownload();
form2.TopMost = true;
form2.Show();
});
誰かが私が間違っているのを教えてくださいすることができ、それが動作するように取得する方法?
おそらく 'BeginInvoke()'を呼び出す必要があります。これは、メソッドの実行が完了するのを待たずに終了します。 – SLaks