Gui threadını uyutuyorsunuz sanırım. Program o sürelerde yanıt vermez ve controllerdeki güncellemeleri gerçekleştirmez. Farklı bir thread oluşturup, progressbar ve label değerini invoke ile değiştirmeyi deneyin. Yapamazsanız özel mesajdan ulaşırsanız yardımcı olurum.
Onu da bir gecikme metodu ile çözebiliriz
private void Gecikme(double saniye)//Gecikme metodu
{
if (saniye < 1) return;
DateTime _desired = DateTime.Now.AddSeconds(saniye);
while (DateTime.Now < _desired)
{
System.Windows.Forms.Application.DoEvents();
}
}Thread.Sleep yerine Gecikme(1); gibi bir kullanım da iş görecektir.