c# .net ProgressBar BackGroundWoker 连接数据库的进度显示

来源:互联网 发布:linux中string什么意思 编辑:程序博客网 时间:2024/05/18 20:10

我想实现一个,用 ProgressBar BackGroundWoker 显示连接数据库的进程条。当连接数据库成功后打开另一个窗口。程序如下。

private int iProgressValue = 1;
private void bgwWorker_DoWork(object sender, DoWorkEventArgs e)
{
   BackgroundWorker bgwValue = (BackgroundWorker)sender;

   bgwWorker.ReportProgress(iProgressValue);
   //连接数据库方法 
   DatabaseAccess();
   if (DatabaseAccess() == true)
   {
         bgwWorker.ReportProgress(100);
   }
  }
private void bgwWorker_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
    pgbValue.Value = e.ProgressPercentage;
}

private void bgwWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
     this.Visible = false;
           
     Form2 form2 = new Form2();
     form2.ShowDialog();

}

这样实现的话,进程条还没全部显示完,就打开了Form2窗口。我希望当进程条显示百分百后,Form2再显示。应该如何修改。
谢谢大家!

问题补充:
解决了private void bgwWorker_DoWork(object sender, DoWorkEventArgs e){   BackgroundWorker bgwValue = (BackgroundWorker)sender;   bgwWorker.ReportProgress(iProgressValue);   //连接数据库方法     DatabaseAccess();   if (DatabaseAccess() == true)   {         bgwWorker.ReportProgress(100);   }   //让当前窗口在关闭之前等一秒钟,这样就可以使进度条完全显示完,再执行下一个窗口    System.Threading.Thread.Sleep(1000);   }
原创粉丝点击