PDA

View Full Version : آموزش: آموزش ساده وکاربردی استفاده از progressBar



svhasvha
چهارشنبه 08 خرداد 1392, 13: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 کنید
از این ساده تر نمیتونستم بگم
پیشنهاد میکنم برای امتحان متد رو توی لود فرم بگزارید با راحت تر عمل کردشو بینید

svhasvha
چهارشنبه 08 خرداد 1392, 14:51 عصر
دوستان اگه خواستید به همین صورت ساده
میتونم روش ساخت setup برنامه رو هم با اینستال شیلد و هم خود ویژوال استدیو بزارم آخه میبینم بچه ها خیلی راجبش سوال میپرسن و روش کامل ویک پارچه وجمع وجوری نیست

sadaf_
چهارشنبه 08 خرداد 1392, 14:57 عصر
دوستان اگه خواستید به همین صورت ساده
میتونم روش ساخت setup برنامه رو هم با اینستال شیلد و هم خود ویژوال استدیو بزارم آخه میبینم بچه ها خیلی راجبش سوال میپرسن و روش کامل ویک پارچه وجمع وجوری نیست

اگر امکانش هست با ویژوال 2012 بگید

alexmcse
چهارشنبه 08 خرداد 1392, 18:08 عصر
دوستان اگه خواستید به همین صورت ساده
میتونم روش ساخت setup برنامه رو هم با اینستال شیلد و هم خود ویژوال استدیو بزارم آخه میبینم بچه ها خیلی راجبش سوال میپرسن و روش کامل ویک پارچه وجمع وجوری نیست

سلام
دوست عزیز منتظریم برای قرار دادن مطالب ستاپ سازی و اینستال شیلد و ویژوال
تشکر میکنم

svhasvha
جمعه 10 خرداد 1392, 18:10 عصر
یا سلام خدمت دوستان چشم تو همین یکی دو روزه یه فایل کامل از ساخت ست آپ با اینستال شیلد وخود ویژوال با در نظر گرفتن بانک وکریستال و مشکل اتچ شدن بعد از نصب و.... میزارم
یا علی

intel_amd
جمعه 10 خرداد 1392, 19:37 عصر
اگر میشه نحوه آپدیت برنامه توسط وب سایت هم آموزش بدید

a.azarmii
دوشنبه 13 خرداد 1392, 22:17 عصر
دوست عزیز svhasvha (http://barnamenevis.org/member.php?235637-svhasvha) منتظریم ....:متفکر:

esafb52
سه شنبه 21 خرداد 1392, 22:55 عصر
سلام میخوام یه راه خیلی ساده و کاربردی استفاده از 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 کنید
از این ساده تر نمیتونستم بگم
پیشنهاد میکنم برای امتحان متد رو توی لود فرم بگزارید با راحت تر عمل کردشو بینید
یه سوال فکر کنم با متد dowork اش میشه متدهای دلخواهت رو تو همین قسمت هم اجرا کرد؟؟درست نیست؟؟

fakhravari
چهارشنبه 22 خرداد 1392, 12:52 عصر
این عملیات در زمان کار progressBar1.Value کار نمیکنه و زمان اتمام اون تابع کارش شروع میکنه یا بر عکس.
دوستان راهنمایی کنند
نمیدونم چقدر زمان اجرا طول میکشه :متفکر: