svhasvha
چهارشنبه 08 خرداد 1392, 14:08 عصر
سلام میخوام یه راه خیلی ساده و کاربردی استفاده از progressBar رو براتون بزارم (با یک مثال)
خوب
1. از منوی تول باکس یک backgroundWorker و یک progressBar به فرم اضافه کنید
2.رو backgroundWorker راست کلیک کنید بعد properties وبعد رو ایکن events کلیک کنید و از متد هاش متد DoWork رو کلیک کنید با متدش فعال بشه
3. حالا تو متد ایجاد شده این کد رو بنویسید
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
for (int i = 1; i <= 100; i++)
{
// توقف به مدت 100 میلی ثانبه
Thread.Sleep(100);
// گزارش وضعیت پردازش
backgroundWorker1.ReportProgress(i);
}
}
4 خوب حالا از همون قسمت events این بار متد ProgressChanged رو کلیک کنید تا ایجاد بشه
و متد ProgressChanged و به صورت زیر تغییر بدید
private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
// تغییر وضعیت پروگرس با
progressBar1.Value = e.ProgressPercentage;
this.Text = e.ProgressPercentage.ToString();
}
خوب حالا هرجای از فرم که یک متد درحال اجراست و شما میخواید در زمان اجرای اون متد progressBar وضعیت رو نشون بده کافیه
کد زیر رو به اون متد اضافه کنید
backgroundWorker1.RunWorkerAsync();
همین
حالا دیگه بقیش بر میگرده به ذوق وصلیقه خودتون!!
اها
یادم رفت یه using های فرم ان رو هم اضافه کنید
using System.Threading;
ای با با باز یه چیز دیگه یادم رفت!!!!!!
از backgroundWorker یهpropertise بگیرید و مقادیر workerreprtsprogress و workkersupportscancellation رو true کنید
از این ساده تر نمیتونستم بگم
پیشنهاد میکنم برای امتحان متد رو توی لود فرم بگزارید با راحت تر عمل کردشو بینید
خوب
1. از منوی تول باکس یک backgroundWorker و یک progressBar به فرم اضافه کنید
2.رو backgroundWorker راست کلیک کنید بعد properties وبعد رو ایکن events کلیک کنید و از متد هاش متد DoWork رو کلیک کنید با متدش فعال بشه
3. حالا تو متد ایجاد شده این کد رو بنویسید
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
for (int i = 1; i <= 100; i++)
{
// توقف به مدت 100 میلی ثانبه
Thread.Sleep(100);
// گزارش وضعیت پردازش
backgroundWorker1.ReportProgress(i);
}
}
4 خوب حالا از همون قسمت events این بار متد ProgressChanged رو کلیک کنید تا ایجاد بشه
و متد ProgressChanged و به صورت زیر تغییر بدید
private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
// تغییر وضعیت پروگرس با
progressBar1.Value = e.ProgressPercentage;
this.Text = e.ProgressPercentage.ToString();
}
خوب حالا هرجای از فرم که یک متد درحال اجراست و شما میخواید در زمان اجرای اون متد progressBar وضعیت رو نشون بده کافیه
کد زیر رو به اون متد اضافه کنید
backgroundWorker1.RunWorkerAsync();
همین
حالا دیگه بقیش بر میگرده به ذوق وصلیقه خودتون!!
اها
یادم رفت یه using های فرم ان رو هم اضافه کنید
using System.Threading;
ای با با باز یه چیز دیگه یادم رفت!!!!!!
از backgroundWorker یهpropertise بگیرید و مقادیر workerreprtsprogress و workkersupportscancellation رو true کنید
از این ساده تر نمیتونستم بگم
پیشنهاد میکنم برای امتحان متد رو توی لود فرم بگزارید با راحت تر عمل کردشو بینید