我想在执行数据查询的时候加一个进度条,不知道如何实现,请高手指点一下,谢谢!

解决方案 »

  1.   

    简单一点的用 Application.DoEvents();即在进入数据处理前加入上面这句,同时在其后加入进度条变化值,完成后再关闭进度条.不过我觉得1楼才上正点方法.
      

  2.   

    progressBar
    如果不知道数据具体到了百分之多少, 
    你可以把Style设置成Marquee好了。
      

  3.   

    简单的给你写一下
            private void ShowWaitForm(object f)
            {
                Form pForm = (Form)f;
                pForm.ShowDialog();
            }
            //使用frm_Wait为一个窗体,里面放置一PICTUREBOX,GIF的动感图片,以下为启动的代码
            System.Threading.Thread pthred = new System.Threading.Thread(ShowWaitForm);
            frm_Wait objfrm_Wait = new frm_Wait();
            pthred.Start(objfrm_Wait);
            //关闭进度,只要关闭线程的
             pthred.Abort();
            pthred = null;
            GC.Collect();你可以把以上代码封装一下,以便调用。
      

  4.   

    //使用webbrowser和进度条
    private void webBrowser1_ProgressChanged(object sender, WebBrowserProgressChangedEventArgs e)
    {
         Progress.Visible = true;
         if ((e.CurrentProgress > 0) && (e.MaximumProgress > 0))
         {
              Progress.Maximum = Convert.ToInt32(e.MaximumProgress);
              Progress.Step = Convert.ToInt32(e.CurrentProgress);
              Progress.PerformStep();
         }
         else if (webBrowser1.ReadyState == WebBrowserReadyState.Complete)
         {
              Progress.Value = 0;
              Progress.Visible = false;
         }
    }楼主可以参考参考
      

  5.   


    pthred.Start(objfrm_Wait);这句写错了吧
    应该是pthred.Start(pthred );吧?
      

  6.   

     private void ShowWaitForm(object f)
            {
                Form pForm = (Form)f;
                pForm.ShowDialog();
            }
            //使用frm_Wait为一个窗体,里面放置一PICTUREBOX,GIF的动感图片,以下为启动的代码
            System.Threading.Thread pthred = new System.Threading.Thread(ShowWaitForm);
            frm_Wait objfrm_Wait = new frm_Wait();
            pthred.Start(objfrm_Wait);
            //关闭进度,只要关闭线程的
             pthred.Abort();
            pthred = null;
            GC.Collect();
      

  7.   

    在9楼不是有代码吗,自己封装了一下,相当于控件。但是实际上就一个窗体、一个picturebox、一个GIF图片、一个线程,简单的很。代码已给出
      

  8.   

    20楼的方式,稍微麻烦点,在已知道处理数据大写的情况下,可以使用BackgroundWorker+progressbar的方式。好处就是可以把线程放到后台执行,用户可以执行其他操作
    使用等待的窗口,就是我给出的代码的方式,使用、编码简单点,不用管执行状态
      

  9.   

    设置最大,最小值
    在每次循环中,对进度条value 赋值就可以了
      

  10.   

    backgroundworker  会自动汇报进度返回值,你根据这个返回值更新你的进度条就可以了