我有下面的代碼爲單個文件zip工作,沒有任何問題。但是當我從一個目錄中壓縮(創建)時,進度條變得很糟糕。目錄上的C#DotNetZip進度條
在選定的文件夾內,我可能會有另外10個子文件夾。
using (ZipFile zip = new ZipFile())
{
zip.CompressionLevel = Ionic.Zlib.CompressionLevel.BestCompression;
zip.SaveProgress += zipProgress;
zip.AddDirectory(folderPath);
zip.Save(tempPath);
}
private void zipProgress(object sender, SaveProgressEventArgs e)
{
if (e.EventType == ZipProgressEventType.Saving_EntryBytesRead)
this.progressbar1.Value = (int)((e.BytesTransferred * 100)/e.TotalBytesToTransfer);
else if (e.EventType == ZipProgressEventType.Saving_Completed)
this.progressbar1.Value = 100;
}
我也知道進度值的事實,不斷前進,後是由於這樣的事實,我拉拉鍊,包含10個子文件夾,一個文件夾。
但是我想知道是否有任何方法正確顯示文件夾壓縮的進度條?
查看AddProgress事件的文檔:http://dotnetzip.herobo.com/DNZHelp/html/842e7449-867a-2bed-dac5-4b7ac456d2ed.htm。 SaveProgress報告添加到zip的每個條目的進度 – sotn0r