繁体   English   中英

C#在弹出窗口中显示进度条

[英]C# Show a progress bar in a popup window

我的主线程正在做一些繁重的计算时,我需要在弹出窗口中有一个进度条。 我使用的是Oracle API,所有繁重的工作都已通过调用此API的1个函数完成,因此由于我没有API的代码,因此无法使用backgroudworker更新。 我试图用ProgressBar和Timer创建一个新表单,但是timer_Click事件从未触发过!(???)

任何想法??

而我的主线程正在做一些繁重的计算。

错误。 切勿在Windows应用程序的主线程内进行任何繁重的计算,否则您的用户只会讨厌您。

如果您的API没有提供报告进度的方法,那么您最好的办法就是在计算过程中显示一些旋转动画,因为您将无法知道已完成工作的确切百分比。 因此,将计算放入BackgroundWorker中 ,在运行计算之前显示一些旋转的动画(该动画本身应在DoWork事件中完成),并在工作完成后隐藏动画( RunWorkerCompletedEvent )。

ProgressBar具有一个Style属性,您可以将其设置为Marquee以模拟无限级数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM