C#如何使用选取框进度条加载表单?
我创建了一个只有带字幕样式的进度条的loadingForm。 在我的mainForm中我试图这样做:
//before downloading loadingForm lf = new loadingForm(); lf.Show(); //start downloading //finishdownloading lf.Close();
显示了loadingForm但没有出现进度条,表格看起来像是崩溃了。 完成下载后,loadingForm关闭,我的应用程序继续正常运行。 在loadingForm我只有:
void loadingForm_Load(object sender, EventArgs e) { progressbar1.visible = true; }
我已经将progressbar1样式设置为loadingForm.design中的选取框。 我该如何解决? 感谢您的帮助。
您应该看看使用BackgroundWorker类进行耗时的操作,以便UI可以在后台工作线程完成工作时继续显示进度。
这很可能是因为下载和带有进度条的表单在同一个线程上运行。 您可以使用BackgroundWorker在与表单不同的线程中执行下载。
UI线程可能没有“资源”来重绘ui,您应该使用上面提到的后台工作程序,或者处理队列中的应用程序消息。 从Show()方法到Close()方法,您应该确保调用Application.DoEvents(),以便处理所有Windows消息(以及重绘消息到您的应用程序表单)
上述就是C#学习教程:C#如何使用选取框进度条加载表单?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/936545.html