你好,我有一個需要時間加載的函數。這就是爲什麼我打算在我的winform上放置一個進度條,以便用戶知道我的程序仍在運行。然而,我不知道我會如何解決它。有沒有人可以幫助指導我。進度條c# - 類似進程的加載
這裏就是我打算做的事:
private void btnProcess_Click(object sender, EventArgs e)
{
//function which takes time because it contacts to a server
}
我想有一個進度條,其增量和我的過程完成之後結束。我應該使用背景工作嗎?
***我按照這個教程http://www.codeproject.com/Tips/83317/BackgroundWorker-and-ProgressBar-demo,但它並沒有等待一個特定的功能或事件完成像加載屏幕。
***在我的buttonclick事件完成其所有功能後,我的進度條並未結束。
我創建:
private void myBackgroundWorker_DoWork(object sender, DoWorkEventArgs e)
{
for (int i = 0; i <= 100; i++)
{
myBackgroundWorker.ReportProgress(i);
System.Threading.Thread.Sleep(100);
}
}
private void myBackgroundWorker_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
myProgressBar.Value = e.ProgressPercentage;
}
private void btnProcess_Click(object sender, EventArgs e)
{
myBackgroundWorker.RunWorkerAsync();
//function which takes time because it contacts to a server
}
我怎麼會知道什麼時候我的ButtonClick事件會結束?這樣我的進度條也會結束嗎?
「我怎麼會知道我什麼時候ButtonClick事件會結束?所以我的進度條會結束也?」連線你的BackgroundWorker()控件的** RunWorkerCompleted()**事件,因爲它將在DoWork()方法完成時觸發。從這種情況下,它可以安全地更新控件,如重置按鈕和進度條... – 2013-05-02 03:16:43