0

我有一个用户正在使用的程序,该程序将从他们的系统中获取一个文件并将其移动到网络驱动器以便进行处理和存储。移动本身运行良好,一切正常,除非他们正在移动一个大文件并且由于某种原因提前关闭程序并停止该过程。

我用来移动文件的代码是

try { File.Move(docFilepath, docFilePathTo); }
catch (Exception ex)
{
    docName = config.autoRename(docName + docExt.ToUpper()).Split('.')[0];
    File.Move(docFilepath, frmMain.Scans2LF + docName + docExt.ToUpper());
}

这再次工作正常。我想知道当他们的文件实际上完全位于新位置时,是否有可能向用户显示进度条。

我查找了几个与此有半相关性的问题,但没有任何适合我情况的答案。更改用于移动文件的系统对我来说不是一个选项,所以我一直在努力寻找完成进度或完成的方法。

编辑

我可能会考虑改变文件的移动方式,主要问题是解释它,以便我的老板不会认为改变有效的东西是一个坏主意(如果人们不关闭程序......)

结束编辑

我想在其位置使用新文件的查找,其大小目前作为进度表,但不确定这是否可行。

感谢您的任何意见!

4

1 回答 1

3

如果您想使用 Windows 文件进度对话框,只需添加Microsoft.VisualBasic作为参考并从那里使用 FileMove

Microsoft.VisualBasic.FileIO.FileSystem.MoveFile("sorceFile.ext", "destFile.ext", Microsoft.VisualBasic.FileIO.UIOption.AllDialogs); 

这将显示与 widnows 相同的对话框,包括取消选项等(如果需要)。

于 2012-12-12T20:12:10.980 回答