我可以显示使用复制文件的进度吗? FileInfo.CopyTo// 在 .NET?
我创建了一个副本实用程序 c# /.NET 2.0 Framework/, 哪些副本文件,目录和递归子目录等。程序具有 GUI, 显示当前复制的文件,当前文件编号 /顺序/, 要复制的文件总数和已完成的复制操作的百分比。 还有一个基于当前文件的执行指示符。 / 文件总数。
我的问题与复制大文件复制有关。 我找不到一种方法来指定复制大文件的一般过程 /使用我当前的类结构使用该方法 FileInfo.CopyTo/. 作为解决方法,我划分文件复制和显示操作。 GUI 在自己的流中并设置视觉信号以显示工作是执行的。 至少用户知道程序未冻结并且仍然复制文件。
更好的是要基于总字节总数显示进度或者有一些事件的能力,或者有一些工作的事件 FileInfo.CopyTo, 指示从当前文件复制的字节总数。
我知道这个物业 FileInfo.Length, 所以我相信有办法 MacGuyver 我自己的事件,这是基于这一点,并且侧面有一个处理程序 GUI 阅读更新的东西 /也许基于验证属性 FileInfo.Length 有一些计时器的目标对象?/.
有谁知道我想念的方式? 如果我能避免这种情况,我宁愿不要重写你的类来通过流复制字节并以这种方式跟踪它 /虽然我想我可以陷入这条路线/.
先感谢您
PS - 目前我陷入了框架 .NET 2.0, 因此,任何需要函数的解决方案仅可用 >= 3.0, 它不适合我。
PPS-I以任何语言开放解决方案 .NET, 不仅 c#.
我的问题与复制大文件复制有关。 我找不到一种方法来指定复制大文件的一般过程 /使用我当前的类结构使用该方法 FileInfo.CopyTo/. 作为解决方法,我划分文件复制和显示操作。 GUI 在自己的流中并设置视觉信号以显示工作是执行的。 至少用户知道程序未冻结并且仍然复制文件。
更好的是要基于总字节总数显示进度或者有一些事件的能力,或者有一些工作的事件 FileInfo.CopyTo, 指示从当前文件复制的字节总数。
我知道这个物业 FileInfo.Length, 所以我相信有办法 MacGuyver 我自己的事件,这是基于这一点,并且侧面有一个处理程序 GUI 阅读更新的东西 /也许基于验证属性 FileInfo.Length 有一些计时器的目标对象?/.
有谁知道我想念的方式? 如果我能避免这种情况,我宁愿不要重写你的类来通过流复制字节并以这种方式跟踪它 /虽然我想我可以陷入这条路线/.
先感谢您
PS - 目前我陷入了框架 .NET 2.0, 因此,任何需要函数的解决方案仅可用 >= 3.0, 它不适合我。
PPS-I以任何语言开放解决方案 .NET, 不仅 c#.
没有找到相关结果
已邀请:
7 个回复
詹大官人
赞同来自:
但是,方法 CopyFileEx 是吗,你可以写自己的shell .NET 在几分钟内,如下所述:
http://www.pinvoke.net/default ... ileEx
八刀丁二
赞同来自:
. 但是,然后我创建了一个包装,以确保更普美的™ API 用来 .NET.
使用
:
销售量
</progresschangedeventargs></progresschangedeventargs></progresschangedeventargs>
三叔
赞同来自:
, 哪个退货
并接受
和
. 不幸的是,他不会在框架里工作 .NET 2.0, 但对于那些使用的人 4.5, 这允许您使用关键字
.
</double></double></double>
涵秋
赞同来自:
CopyFileEx 将正确与您相关联,或者您可以实施 BackgroundWorker, 这会监视目标文件的越来越大小并使用此信息更新执行指示符。 最后一个方法为您节省了 PInvoke, 但第一个可能在长期奔跑中有点清洁。
窦买办
赞同来自:
是的,你必须参考 Microsoft.VisualBasic assembly. 一世
http://www.deploymentzone.com/ ... asic/
这是 assembly.
奔跑吧少年
赞同来自:
我使用中断的副本扩展了丹尼斯的答案
客户可以创建一个类对象 XCopy 并调用方法 copy/abort.
</progresschangedeventargs></filecopyeventargs>
小姐请别说爱
赞同来自:
在这里检查一下 -
https://github.com/martinchrza ... nager
和
https://www.nuget.org/packages ... ager/