点击按钮弹出一个窗体,窗体里的计算量比较大,所以弹出的速度比较慢,想在点击按钮的同时显示一个进度条,但是进度条怎么也不显示,一直到窗体里的计算都完成了它才显示!把显示进度条的操作放到其它线程也不好用,希望各位帮帮我!部分代码如下:                Thread th = new Thread(new ThreadStart(processShow));
                //th.IsBackground = true;
                th.Start();
                CheckClient.ContentCompare cc = new ContentCompare();
                cc.ShowDialog();我只需要点击按钮同时显示进度条就行!

解决方案 »

  1.   

    ProgressBar控件,查一下,很简单的
      

  2.   


    反了。应该是:主线程Show进度条,开新线程执行你的代码。如下:processShow();//主线程Show进度条
    Thread th = new Thread(new ThreadStart(处理业务数据方法));//开新线程执行你的代码。
    th.IsBackground = true;
    th.Start();
                 
      

  3.   

    如下: 
    Thread th = new Thread(new ThreadStart(处理业务数据方法));//开新线程执行你的代码。 
    th.IsBackground = true; 
    th.Start();
    processShow();//主线程Show进度条 
      

  4.   

    用Invoke或者BackgroundWorker就可以了。
      

  5.   

    但是我的处理业务数据方法是弹出新窗口
    -------------------------------------
    那你可以在这个 弹出新窗口 里面 Show进度条,在开新线程执行你的代码呀。你要明白这个思路。
    不是说在一定要在哪个界面或线程的里做。
      

  6.   

    .net 2.0 backgroundworker类详细用法
    解决这个问题,可以使用委托来处理,在.net2.0中还可以用backgroundworker类。 backgroundworker类是.net 2.0里新增加的一个类,对于需要长时间操作而不需要用户长时间等待...* * 作者:周公 * backgroundworker类是.net 2.0里新增加的一个类,对于...
    http://blog.csdn.net/zhoufoxcn/archive/2007/10/19/1832819.aspx
      

  7.   


     Thread th = new Thread(new ThreadStart(processShow));
     th.IsBackground = true; 
    CheckClient.ContentCompare cc = new ContentCompare(); 
     th.Start();
    Application.DoEvent();
     cc.ShowDialog();