C # Ionic.zip ProgressBar в качестве фона работника
Вопрос
Я получил следующий код:
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;
}
}
Когда я нажимаю на кнопку, форма застряла. Я хочу сделать экстрактPROGRESS в качестве фонового работника, но когда я не знаю, как преобразовать функцию в функцию FlainWorker Worker, потому что функция ExtractProgress E требует ExtractProgresseventArgs e, и функция FlowerWorker_Dowork требует Doworkeventargs e.
Если кто-то может помочь мне преобразовать его или дать мне другое решение, это будет здорово!
Решение
Просто: просто положить все Код включен button1_Click
в метод и иметь button1_Click
запустить этот метод в BackgroundWorker
. Отказ Попробуйте и посмотрите, как это работает.
Не связан с StackOverflow