穿在.net中

我有一个winforms应用程序的简单示例,我在目录选择器中选择一个目录,然后单击一个按钮循环遍历目录并将目录中的每个文件复制到另一个目录中。

我想在后台线程上执行文件复制以避免锁定GUI。

我正在寻找最简单的解决方案:

  1. 创建后台线程
  2. 传递源和目的地
  3. 获取进度回调,以便我可以在GUI线程上显示进度条

我建议使用BackgroundWorker类。

例子 。

除了上面的答案,我还要补充一点,BackgroundWorker是理想的,因为它也可以为您提供进度更新。 只需确保阻止重新进入 – 这是您需要防止用户在完成后再次启动后台工作程序的情况。