احتمالا شما از 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 کن
موفق باشی