ProgressBar1.Maximum =100
            for (int i = 0; i < 100; i++)
            {
                ProgressBar1.PerformStep();
            }
            this.Close();我发现这样写那个ProgressBar这个逐步增加的效果就没了...直接关闭了.
如果去掉this.Close()就会有ProgressBar的效果
要如何解决?

解决方案 »

  1.   

    循环退出后,直接运行close当然会关闭掉窗体你可以起后台线程去运行for循环,然后通过事件来通知主窗口刷新进度条
    另一种常用的解决方法是,起一个模态对话框,然后在该对话框里刷新进度条codepreject上有示例,codeguru也可以
      

  2.   

    打开其他窗体显示进度条
    或通过按钮显示进度条,到时隐藏ProgressBar
      

  3.   

    你可以这样啊:
                progressBar1.Maximum = 100;
                for (int i = 0; i <=100; i++)
                {
                    progressBar1.Value = i;
                    System.Threading.Thread.Sleep(50);
                }
                this.Close();