我正在使用此代码;
using (ZipFile zip = ZipFile.Read(FileName))
{
zip.ExtractProgress += ExtractProgressHandler;
zip.ReadProgress += ReadProgressHandler;
zip.ExtractAll(AppDomain.CurrentDomain.BaseDirectory + "\\Library\\" + zip.Comment,ExtractExistingFileAction.OverwriteSilently);
}
但ReadProgress事件永远不会发生。我想我需要在使用ZipFile.Read()之前添加事件处理程序。但我不知道该怎么做。
答案 0 :(得分:4)
您可以调用带有ReadOptions的重载ZipFile.Read。您可以在ReadOptions中指定事件处理程序。
ReadOptions myReadOptions = new ReadOptions { ReadProgress = ExtractProgressHandler };
using (ZipFile zip = ZipFile.Read(FileName, myReadOptions))
{
zip.ExtractProgress += ExtractProgressHandler;
zip.ExtractAll(AppDomain.CurrentDomain.BaseDirectory + "\\Library\\" + zip.Comment,ExtractExistingFileAction.OverwriteSilently);
}
注意:我没有对其进行测试,代码按原样提供。