DotNetZip - 如何取消"压缩"正在进行的操作?

时间:2018-05-30 23:32:08

标签: c# winforms

如何取消"拉链" DotNetZip中正在进行的操作?

我使用以下代码压缩文件夹:

using Ionic.Zip; 
...    
using (zip = new ZipFile())
{    
    zip.AddDirectory(@"C:\SomeFolder");                                
    zip.Save(@"C:\SomeFolder.zip");
}

现在我需要添加一个"取消"允许用户取消该过程的按钮,如果他愿意的话。

我认为这是一种正确的方法,但我无法在任何地方找到它。

谢谢。

1 个答案:

答案 0 :(得分:0)

现在似乎正在运作:

using Ionic.Zip; 


bool wasCanceled = false;
ZipFile zip;

using (zip = new ZipFile())
{
    zip.SaveProgress += zipProgress;    
    zip.AddDirectory(@"C:\SomeFolder");                                
    zip.Save(@"C:\SomeFolder.zip");
}

private void zipProgress(object sender, SaveProgressEventArgs e)
{
    if(wasCanceled) { e.Cancel = true; }
}

private void btnCancel_Click(object sender, EventArgs e)
{
    wasCanceled = true;
}

非常有用的文档:https://documentation.help/DotNetZip/