winform 多表添加,保存很慢。请大家帮助进度条!

解决方案 »

  1.   

    简单的多线程,给你写个简单的例子吧。1.首先新建一个程序进度窗体。 叫做 ProgressBar 好了。在这个窗体里,你可以设计视图添加进度条等等。然后定义一个状态变量ProgressBar MyProgressBar = new ProgressBar();
    Thread MyProgressWait;
    Bool DataOperate_Finished = false;private void ProgressBarWait()
    {
      MyProgressBar = new ProgressBar();
      MyProgressBar.MdiParent = this.MdiParent;
      MyProgressBar.ShowDialog();
       
      if(MyProgressBar.DialogResult == DialogResult.OK)
      {
      //如果数据加载正确的逻辑
      }
      else
      {
      //数据加载错误的逻辑
      }
       
      MyProgressBar.Dispose();
      MyProgressBar.Close();
    }...好,现在是主线程的逻辑了private void MainThread()
    {
      MyProgressWait = new Thread(new ThreadStart(ProgressBarWait));
      MyProgressWait.Start();
      //上面启动进度窗口线程
         //这里是你的主线程数据处理逻辑。如果数据处理完成,DataOperate_Finished 变量置 true
       
      int TCounter = 0;
      while(TCounter <= 200 && DataOperate_Finished == false)
      {
      TCounter++;   
      Thread.Sleep(50);
      }  if(DataOperate_Finished == true)
      {
      this.MyProgressBar.DialogResult = DialogResult.OK;
      DataOperate_Finished == false;
      }
      else
      {
      this.MyProgressBar.DialogResult = DialogResult.No;
      MessageBox.Show("错误信息");
      }
    }