应用程序退出时显示等待消息

Lam*_*mps 3 c# winforms

我有以下代码,有时ArchiveFiles()需要更多时间来完成其执行.

当用户从上下文菜单中多次单击退出选项时,如果ArchiveFiles()需要更多时间,则应用程序将无响应.如何再次单击退出选项时显示等待消息?

private void exitToolStripMenuItem_Click(object sender, EventArgs e)
{
    ArchiveFiles(); 
    Application.Exit();
}
Run Code Online (Sandbox Code Playgroud)

谢谢
Bhaskar

Akr*_*hda 5

您可以使用BackgroundWorker.

使用BackgroundWorker,您将能够执行耗时的任务,例如您在另一个线程上拥有的任务,以便UI不会冻结.您将能够报告该任务的进度,然后报告其完成情况并在完成后执行您需要的逻辑.

处理BackgroundWorker.DoWork事件以启动执行可能耗时的工作的操作.

处理BackgroundWorker.ProgressChanged事件以向用户报告异步操作的进度.

最后,处理BackgroundWorker.RunWorkerCompleted事件以实现任务完成后要实现的任何逻辑.


请参阅以下内容:

BackgroundWorker组件概述

C#BackgroundWorker教程