دوستان من مي خواهم تو فرمم يك Progress bar از اول تا آخر پر بشه.
بايد چيكار كنم؟
Printable View
دوستان من مي خواهم تو فرمم يك Progress bar از اول تا آخر پر بشه.
بايد چيكار كنم؟
خوب یه تایمر بزار بعدش بعد هر ثانیه یا هر زمانی که دوست داری یکی یکی اضافه بشه تا آخر.
سلام
بفرمایید
احتمالا شما از vs2005 استفاده می کنید .
ابتدا یک BackgroundWorker و یک ProgressBar و یک Button روی فرم قرار بدید .
این مقادیر را داخل کلاس فرم تعریف کنید
public bool FLAG = true;
public long MAX = 200000000;
توی رویداد DoWork مربوط به backgroundWorker1 مقادیر زیر را وارد کنید .
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
int i = 1;
for (long l = 0; l < MAX; l++)
{
if (l == (long)(MAX / 100) * i)
{
backgroundWorker1.ReportProgress(i);
i++;
}
}
}
همچنین توی رویداد ProgressChanged کدهای زیر را قرار بدید
private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
prgsBar.Value = e.ProgressPercentage;
this.Update();
}
توی رویداد RunWorkerCompleted کدهای زیر را وارد کن
private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
FLAG = true;
}
کدهای زیر را هم به رویداد کلیک باتن نسبت بده
private void button_Click(object sender, EventArgs e)
{
if (FLAG)
{
backgroundWorker1.RunWorkerAsync();
FLAG = false;
}
}
اسم progressBar را prgsBar بزار
و خاصیت workerReportProgess مربوط به backgroundWorker را true کن
موفق باشی
کاربر hossein-ignore یک فایل آموزشی درباره progressbar چند روز پیش ارسال کرده بودند
اگه در چند صفحه قبل جستجو کنید پیدا می کنید.
خیلی مفیده.