C#:在漫长的过程中显示模态进度对话框

标签 c# multithreading

我的软件需要存储某些特定位置的目录和注册表结构。这通常需要很长时间。假设我有一个名为 SaveState() 的方法来执行此操作。

我想将它包装到另一个方法 SaveStateWithProgress() 中,这样当我调用它时,会出现一个模态对话框,其中显示一个简单的进度条和一个用于取消操作的按钮。在我看来,我可能需要使用两个线程,尽管在 VB6 或 Java 中,我曾经使用等效于 Thread.Yield() 命令的方式来解决问题——不确定这是否是最佳实践,即使 C# 中有类似的东西。最好的方法是什么?

最佳答案

C# 中最好的方法是使用 BackgroundWorker并在该后台工作人员中运行您的密集操作。

Here is a tutorial其中包括有关如何中途取消操作的说明。

关于C#:在漫长的过程中显示模态进度对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3196482/

相关文章:

java - 使用两个线程进行交换

c# - Xamarin.Forms 在文件系统中保存文件

c# - SignalR 未触发 OnDisconnected

c++ - Boost (v1.33.1) 线程中断

Java工作线程,终止条件

multithreading - cocoa 停止按钮

c# - "mklink/J"的 C# 等价物是什么?

c# - Specflow 忽略 Visual Studio 单元测试属性 'Timeout'

c# - 错误: Type or namespace not found

java - 如何在自己的线程中启动 JavaFX GUI