私のC#Windowsアプリケーションでは、
エクスポートとキャンセルの 2 つのボタンがあります。
私のエクスポートボタンでは、ここでSQLデータテーブルをスレッドの下で実行されている.csvファイルにエクスポートしています。
thrThreadExportProcess = new Thread(new ThreadStart(startExport));
thrThreadExportProcess.Start();
thrThreadExportProcess.IsBackground = true;
エクスポート プロセスの実行中に、ユーザーがここでキャンセル ボタンを押すと、スレッドが中止され、スレッドに参加して、エクスポートされたファイルが削除されます。
スレッドに参加している間、アプリケーションはしばらくハングアップしてから実行されます。
私の質問は、なぜそれがしばらくハングアップするのかです。
これがキャンセルボタンのコードの一部です。
if (thrThreadExportProcess.IsAlive)
{
thrThreadExportProcess.Abort();
thrThreadExportProcess.Join();
File.Delete(csvPath);
}
貴重なご意見をお寄せください。