c#制作进度条
c#界面编程由于有vs的支持可以说是非常容易,我们只需要创建窗口类,然后图形操作布置控件,需要做的只是添加动作。但是当我们的应用程序本身就没有主界面,只需要一个用于提示的进度条界面,主要功能已经用控制台应用类编写完毕,且我们认为只为了一个小小的进度条界面,没有必要重新创建项目。事实上我们也并没有必要这样做,因为我们有更好的选择,利用单挂线程的方式实现进度条窗口的显示和更新。
制作ui界面

编写进度条更新函数
public void SetProgerssBar(int Number)
{
progressBar1.Value = Number;
}
在主程序类中编写窗口显示函数用来创建线程显示
private void ShowProcess()
{
Application.Run(progress);
}
在这里我们需要用Application.Run()函数来达到消息循环,以实现窗体的进度条的正确更新。
如果简单的使用窗口类的show方法展示进度条窗口,我们是不能进行任何操作的,也就是说,进度条不会进行变化,我们的文本显示一般要使用Label控件,当只是用show方法是也是无法正常显示出来的。
更多的关于Application和run()可以点击
C#中Application类简述
用创建新线程的方式来显示
由于如果我们用Application.Run()来实现窗口显示,虽然可以很好的实现进度条功能,但是进度条一定是伴随着功能模块的进行进行更新的,所以一定要在功能开始进行前就将进度条窗口显示出来,但是这样就使程序停滞,因为Application.Run()是以消息循环的方式实现,除非窗口关闭才能实现。因为程序执行的顺序性这就导致了冲突,好在我们有线程这个工具可以帮助我们解决这个问题。线程在一个进程内可以并行执行自己的任务二不会互相干扰,所以利用线程我们可以很好实现进度条显示和功能执行的功能。
如果不是很清楚可以在这里了解更多
C#中的多线程
processBarThread = new Thread(new ThreadStart(ShowProcess));
processBarThread.Start();
更新进度条实现进度条推进
进度条一定是随着功能的实现不断推进的,我们将功能模块分好权重,在每一个功能模块的后边添加一个进度条更新函数的调用就可以了。
除此之外还有其他更加先进的进度条实现方式可以参考
C#如何对button按钮实现进度条功能