1、进度条作用
当我们进行一个耗时操作的时候,界面不能静止在那边,要给用户一个提示,表示程序是在跑的,需要用户等待一会。就像坐电梯的时候,要显示电梯现在在哪一层了。
2、实际的场景
有时我们程序需要操作的时间实际很难估计出来,不像电梯那样可以精确的显示在哪一层了,但是我们又要给客户一个友好的提示。是不是可以有一个单独的窗口显示进度条,等操作结束之后就自动关闭这个窗口。
3、WPF中具体的操作实现
1) 在WPF中单独创建一个窗口,只有一个进度条控件。有两个线程,一个线程是循环显示进度,一直从0到100,一个线程是执行耗时的操作,执行完后自动关闭当前窗口。
![](file:///C:/Users/THINKPAD/AppData/Local/YNote/data/qqF2AF36A26544D122E96EACAA317ABDDC/77d5e4575c0949328790c4bf017ba7f6/clipboard.png)
![](https://img2018.cnblogs.com/blog/1100028/201911/1100028-20191118135413311-1361464242.png)
2)在其他窗口里面怎么调用呢,一是要把执行的耗时操作传递给进度条窗口,二是要用模式窗口ShowDialog(),阻塞主程序的运行,直到那个比较耗时的操作结束之后,模式窗口自动关闭,可以进行下一步操作。
![](file:///C:/Users/THINKPAD/AppData/Local/YNote/data/qqF2AF36A26544D122E96EACAA317ABDDC/1956c41ed86f4277af4289e4f38b80d1/clipboard.png)
![](https://img2018.cnblogs.com/blog/1100028/201911/1100028-20191118135428180-269371391.png)
3)界面运行效果,进度条显示的不是实际运行的时间,只是给用户一个提示,程序是一直在跑的。
![](https://img2018.cnblogs.com/blog/1100028/201911/1100028-20191118135625309-1137159047.png)
4、总结
有时我们要理解进度条对用户的实际意义,用户关心的是,电脑是不是卡住了,这个操作有没有点成功,当他看到在动的时候,他就比较安心了。看着进度条,静静的等待会。