PDA

View Full Version : [C#] Progressbar


zebrone
05-09-2006, 13:58
In c# (Visual Studio 2005) ho creato una progressbar che viene visualizzata in una form mentre viene estratto uno zip gigante. La form viene visualizzata ma la barra no, sembra che la form non sia aggiornata, ma anche mettendo refresh() nel timer che aggiorna la progressbar non si vede. Il codice del tasto di conferma precedente all'avvio della decompressione è questo:


private void OkButton_Click(object sender, EventArgs e)
{
....
ProgressBarWindow pbw = new ProgressBarWindow("Unzipping file...", "Please wait while unzipping is performed.");
pbw.Show();
Zipper zip = new Zipper();
zip.UnZip(textBox2.Text, textBox1.Text);
pbw.Dispose();
this.Dispose();
...

}

pela
05-09-2006, 14:23
non so come funziona Zipper, ma forse la decompressione dovrebbe essere eseguita in un thread separato, altrimenti blocca tutto

zebrone
05-09-2006, 14:33
Zipper è un'implementazione della libreria #ziplib (http://www.icsharpcode.net/OpenSource/SharpZipLib/). Infatti la prima cosa che ho pensato anche io è stata l'esecuzione con i thread. Ho provato ad eseguire la form con la progressbar in un thread differente ma il risultato è lo stesso.
Ora provo ad eseguire la decompressione in un thread separato e vedo cosa succede