我有一个小应用程序来转换多种文件格式,其中一个主窗口窗体包含几个文本框、按钮等。我有另一个“文档”类,它处理所有实际的转换工作,我的窗体基本上迭代所有文件,并调用适当的 Document 方法来转换文件。然而,当这种情况发生时,表单会停止响应。我创建了另一个简单的表单,其中有一个进度条和一个取消按钮,当转换开始时会生成一个取消按钮,以便为我们的(容易惊慌的)用户提供一些反馈。然而,当新表单加载时,所有控件都是白框,并且它也停止响应。转换完成后,进度条将正确关闭,主窗体将再次响应。
有没有一种简单的方法可以使这两个窗体独立,以便即使另一个窗体无响应时进度条也可以运行?
最简单的解决方案是使用以下命令在后台线程上完成处理后台工作者 http://msdn.microsoft.com/en-us/library/system.componentmodel.backgroundworker.aspx成分。您可以从 VS 工具箱中将其拖入。它允许您使用进度通知更新 UI 线程,以便您可以更新进度条以显示实际值(比“字幕”样式进度条更加用户友好)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)