سلام دوست من وقتت بخیر ، از thread هم میتونی استفاده کنی ولی من برات با BackGroundWorker مثال زدم و اینکه توی BGW دستت باز تره
BackgroundWorker bw;
private void button1_Click(object sender, EventArgs e)
{
bw = new BackgroundWorker();
bw.DoWork += Bw_DoWork;
bw.ProgressChanged += Bw_ProgressChanged;
bw.RunWorkerCompleted += Bw_RunWorkerCompleted;
bw.RunWorkerAsync();
}
private void Bw_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
Process.Start("word");
}
private void Bw_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
progressBar1.Value = e.ProgressPercentage;
this.Text = e.ProgressPercentage.ToString();
}
private void Bw_DoWork(object sender, DoWorkEventArgs e)
{
bw.WorkerReportsProgress = true;
for (int i = 1; i <= 100; i++)
{
Thread.Sleep(100);
bw.ReportProgress(i);
}
}
پیروز و موفق باشی