您好,我有一个需要时间加载的功能。这就是为什么我打算在我的 winform 上放置一个进度条,以便用户知道我的程序仍在运行。但是,我不知道我将如何解决它。有没有人可以帮助指导我。
这是我打算做的事情:
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 事件何时结束?这样我的进度条也会结束吗?