我有以下代码,有时ArchiveFiles()需要更多时间来完成其执行.
当用户从上下文菜单中多次单击退出选项时,如果ArchiveFiles()需要更多时间,则应用程序将无响应.如何再次单击退出选项时显示等待消息?
private void exitToolStripMenuItem_Click(object sender, EventArgs e)
{
ArchiveFiles();
Application.Exit();
}
Run Code Online (Sandbox Code Playgroud)
谢谢
Bhaskar
您可以使用BackgroundWorker.
使用BackgroundWorker,您将能够执行耗时的任务,例如您在另一个线程上拥有的任务,以便UI不会冻结.您将能够报告该任务的进度,然后报告其完成情况并在完成后执行您需要的逻辑.
处理BackgroundWorker.DoWork事件以启动执行可能耗时的工作的操作.
处理BackgroundWorker.ProgressChanged事件以向用户报告异步操作的进度.
最后,处理BackgroundWorker.RunWorkerCompleted事件以实现任务完成后要实现的任何逻辑.
请参阅以下内容:
| 归档时间: |
|
| 查看次数: |
947 次 |
| 最近记录: |