DotNetZip - Как отменить выполняемую операцию «архивирования»? - PullRequest
0 голосов
/ 31 мая 2018

Как отменить операцию «архивирования», которая выполняется в DotNetZip?

Я использую следующий код для архивирования папки:

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

Теперь мне нужно добавитькнопка «Отмена», которая позволяет пользователю отменить процесс, если он этого хочет.

Я думаю, что есть правильный способ сделать это, но я нигде не могу его найти.

Спасибовы.

1 Ответ

0 голосов
/ 31 мая 2018

Кажется, сейчас работает:

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/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...