分類:[C#]
2020/05/26(Tue) 15:06:28 編集(投稿者)
2020/05/26(Tue) 15:05:45 編集(投稿者)
2020/05/26(Tue) 15:05:35 編集(投稿者)
VS2019 .NET Framework 4.7.2 System.Windows.Forms
BackgroundWorkerをTaskに書き換えようとしているのですが
非同期処理終了時の処理がうまく動いてくれません。
やりたいこと
フォーム表示(ShowDialog)で非同期処理を開始し、
非同期処理終了でフォームをクローズする。
BackgroundWorker
Form_Shownイベント
this.backgroundWorker.RunWorkerAsync(this.workerArgument);
backgroundWorker_RunWorkerCompletedイベント
this.Close();
Task
Form_Shownイベント
Task.Run(処理)
.ContinueWith(
_ => {this.Close(); },
TaskContinuationOptions.ExecuteSynchronously);
//Close()はエラーなく実行されているようだが
//フォームが閉じない
よろしくお願いします。