gpt4 book ai didi

C# Ionic.Zip 进度条作为后台 worker

转载 作者:太空宇宙 更新时间:2023-11-03 14:25:01 26 4
gpt4 key购买 nike

我得到了以下代码:

        string path = Environment.CurrentDirectory;
private void button1_Click(object sender, EventArgs e)
{
using (ZipFile zip = ZipFile.Read("Fringe.S03E07.HDTV.XviD-LOL.zip"))
{
zip.ExtractProgress += ExtractProgress;
foreach (ZipEntry file in zip)
{
file.Extract(path+"\\temp", ExtractExistingFileAction.OverwriteSilently);
}
}

}

public void ExtractProgress(object sender, ExtractProgressEventArgs e)
{
if (e.EventType == ZipProgressEventType.Extracting_EntryBytesWritten)
{
//bytes transfered of current file
label4.Text = e.BytesTransferred.ToString();
}
else if (e.EventType == ZipProgressEventType.Extracting_BeforeExtractEntry)
{
//filename of current extracted file
label2.Text = e.CurrentEntry.FileName;
}
}

当我点击按钮时,表单卡住了。我想将 ExtractProgress 作为后台工作程序,但是当我不知道如何将函数转换为 backgroundworker 函数时,因为 ExtractProgress 函数需要 ExtractProgressEventArgs e 而 backgroundworker_dowork 函数需要 DoWorkEventArgs e。

如果有人可以帮助我转换它或给我另一个解决方案,那就太好了!

最佳答案

简单:只需将 所有 button1_Click 中的代码放入一个方法中,然后让 button1_ClickBackgroundWorker< 中运行该方法。尝试一下,看看效果如何。

关于C# Ionic.Zip 进度条作为后台 worker ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4327178/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com