PDA

View Full Version : نمایش مدت زمان یا progress bar تا باز شدن یک برنامه جانبی



sayanpro
پنج شنبه 03 تیر 1395, 15:39 عصر
سلام دوستان.
فرض کنید که فرم دارید که یک دکمه درون آن قرار داده شده است.
زمانی که این دکمه کلیک می شود مثلا برنامه word صدا میکنه و اجرا میکنه.
من می خواهم زمانی که کاربر دکمه کلیک کرد تا وقتی که برنامه word اجرا نشده یک progress bar یا loading به کاربر نمایش بدم.
به نظر شما آیا این امکان پذیر است؟ و آیا باید از background worker استفاده کنم؟

ممنون می شم راهنمایی بفرمایید.

mrprestige
پنج شنبه 03 تیر 1395, 21:48 عصر
سلام دوست من وقتت بخیر ، از 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);
}
}


پیروز و موفق باشی