C# 是否有一种方法可以组合2“;FileSystem.CopyDirectory";所以我只能得到一个进度窗口?

C# 是否有一种方法可以组合2“;FileSystem.CopyDirectory";所以我只能得到一个进度窗口?,c#,vb.net,winforms,C#,Vb.net,Winforms,有没有一种方法可以组合两个“FileSystem.CopyDirectory”语句,以便只获得一个进度窗口?我在我的C#应用程序中使用了以下两条语句。它工作得很好,但它为每个语句提供了两个进度窗口。有没有一种方法可以让只有一个进度条窗口来处理这两个语句。。。并因此计算两者的时间 FileSystem.CopyDirectory(@"C:\test\HP1", @"c:\test\HP3", UIOption.AllDialogs); FileSystem.CopyDirectory(@"C:\t

有没有一种方法可以组合两个“FileSystem.CopyDirectory”语句,以便只获得一个进度窗口?我在我的C#应用程序中使用了以下两条语句。它工作得很好,但它为每个语句提供了两个进度窗口。有没有一种方法可以让只有一个进度条窗口来处理这两个语句。。。并因此计算两者的时间

FileSystem.CopyDirectory(@"C:\test\HP1", @"c:\test\HP3", UIOption.AllDialogs);
FileSystem.CopyDirectory(@"C:\test\HP2", @"c:\test\HP4", UIOption.AllDialogs);


谢谢。

不,不能使用内置方法。
SHFileOperation
的.Net包装器在同一时间只处理一个对象


您可以使用COM
IFileOperation
接口,但必须构建自己的.Net包装器。如果您感兴趣,可以提供帮助。

不,您不能使用内置方法。
SHFileOperation
的.Net包装器在同一时间只处理一个对象


您可以使用COM
IFileOperation
接口,但必须构建自己的.Net包装器。如果您感兴趣,可以提供帮助。

不,它们是两个独立的操作。您也无法在文件资源管理器中执行此操作,因此它对用户来说没有逻辑意义。如果在第二次复制过程中发生错误,会发生什么情况?你会回滚第一次复制吗?@MattWilko实际上这是有道理的。设计为可以同时执行多个操作。不,它们是两个独立的操作。您也无法在文件资源管理器中执行此操作,因此它对用户来说没有逻辑意义。如果在第二次复制过程中发生错误,会发生什么情况?你会回滚第一次复制吗?@MattWilko实际上这是有道理的。设计为可以同时执行多个操作。对封面下发生的事情有很好的洞察力。对封面下发生的事情有很好的洞察力。