当前位置:  开发笔记 > 编程语言 > 正文

任务完成后才会显示进度条

如何解决《任务完成后才会显示进度条》经验,为你挑选了1个好方法。

我一直试图将进度条设置为marquee以在另一个函数运行时继续移动.运行此函数后,将显示消息(对于此示例)

我能够让这个工作的唯一方法是与后台工作者,然后有一个

循环直到在主窗体中运行的条件,直到操作完成,然后是我的消息框.

这似乎是实现这一目标的一种方法,一个thread.start后跟一个thread.join似乎是一个更好的方法来解决这个问题.但是,我也无法做到这一点.

如果有人有兴趣,我已经包含了一个小型演示程序. http://www.filedropper.com/progressbar

谢谢



1> Jon Skeet..:

Thread.Start而且Thread.Join不是要做到这一点-再次,基本上阻止您的UI线程.Application.DoEvents也不是要走的路 - 你真的想要一个单独的线程.

然后,您可以使用Control.Invoke/ Control.BeginInvoke来编组回UI线程,但这BackgroundWorker使得所有这些变得更加容易.搜索"BackgroundWorker教程"会产生大量的点击.

编辑:要在工作人员完成时显示消息,请使用该RunWorkerCompleted事件.该ReportProgress方法和ProgressChanged事件来处理更新进度条.(UI订阅了ProgressChanged,该任务定期调用ReportProgress.)

推荐阅读
喜生-Da
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有