如何取消"拉链" DotNetZip中正在进行的操作?
我使用以下代码压缩文件夹:
using Ionic.Zip;
...
using (zip = new ZipFile())
{
zip.AddDirectory(@"C:\SomeFolder");
zip.Save(@"C:\SomeFolder.zip");
}
现在我需要添加一个"取消"允许用户取消该过程的按钮,如果他愿意的话。
我认为这是一种正确的方法,但我无法在任何地方找到它。
谢谢。
答案 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;
}