s4lish
دوشنبه 21 مرداد 1392, 15:45 عصر
با سلام
من یک برنامه دارم که اطلاعات یک فولدر رو به زیپ تبدیل میکنه..
قسمت اول رو که در اون هنگام زیپ کردن فولدرهای حجیم با ترد ها کاری کردم که برنامه از کار نیوفته و هنگ نکنه.
ولی می خوام از progress bar ها نیز در برنامه استفاده کنم که زمان تمام شدن ارشیو رو نشون بده.
چکار باید کنم. کدهای من به این شکل ان.
هنگام کلیک بر روی دکمه ارشیو کردن
Thread MyThread = new Thread(new ThreadStart(MyCallbackFunction));
MyThread.Start();
و تابع مربوطه
public void MyCallbackFunction()
{
using (ZipFile zip = new ZipFile())
{
zip.AddDirectory(@""+textBox1.Text+"");
zip.Comment = "This zip was created at " + System.DateTime.Now.ToString("G");
zip.Save(textBox2.Text);
}
}
با این کد ها فولدر مبدا رو به فایل زیپ مقصد تبدیل می کنم بدون هنگ کردن برنامه. حالا چطور از اون بار استفاده کنم ؟!
مرسی
من یک برنامه دارم که اطلاعات یک فولدر رو به زیپ تبدیل میکنه..
قسمت اول رو که در اون هنگام زیپ کردن فولدرهای حجیم با ترد ها کاری کردم که برنامه از کار نیوفته و هنگ نکنه.
ولی می خوام از progress bar ها نیز در برنامه استفاده کنم که زمان تمام شدن ارشیو رو نشون بده.
چکار باید کنم. کدهای من به این شکل ان.
هنگام کلیک بر روی دکمه ارشیو کردن
Thread MyThread = new Thread(new ThreadStart(MyCallbackFunction));
MyThread.Start();
و تابع مربوطه
public void MyCallbackFunction()
{
using (ZipFile zip = new ZipFile())
{
zip.AddDirectory(@""+textBox1.Text+"");
zip.Comment = "This zip was created at " + System.DateTime.Now.ToString("G");
zip.Save(textBox2.Text);
}
}
با این کد ها فولدر مبدا رو به فایل زیپ مقصد تبدیل می کنم بدون هنگ کردن برنامه. حالا چطور از اون بار استفاده کنم ؟!
مرسی