C# net中的线程

C# net中的线程,c#,multithreading,C#,Multithreading,我有一个简单的winforms应用程序示例,其中我在目录选择器中选择一个目录,然后单击一个按钮在该目录中循环,并将该目录中的每个文件复制到另一个目录中 我想在后台线程上复制文件,以避免锁定GUI 我正在寻找最简单的解决方案: 创建背景线程 在中传递源和目标 获取进度回调,以便在GUI线程上显示进度条 我建议使用这个类 .除了上面的答案,我还想补充一点,BackgroundWorker非常适合于此,因为它也可以为您提供进度更新。只需确保您防止重新进入—也就是说,您需要防止出现用户可以在后台工作程序

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

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

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

  • 创建背景线程
  • 在中传递源和目标
  • 获取进度回调,以便在GUI线程上显示进度条

  • 我建议使用这个类


    .

    除了上面的答案,我还想补充一点,BackgroundWorker非常适合于此,因为它也可以为您提供进度更新。只需确保您防止重新进入—也就是说,您需要防止出现用户可以在后台工作程序完成之前再次启动后台工作程序的情况