【问题标题】:Create a BackgroundWorker in a Child Form that reports progress to the Parent Form在子表单中创建一个BackgroundWorker,向父表单报告进度
【发布时间】:2011-08-04 19:34:51
【问题描述】:
我有一个包含两个表单的应用程序。我想为子表单实现一个BackgroundWorker,这样当它启动并且用户选择一个按钮时,操作将在BackgroundWorker上执行,子表单将被隐藏,BackgroundWorker将向父表单报告以便取得进展bar 可以更新,并且父表单仍然处于活动状态,因此用户仍然可以在 BackgroundWorker 运行时使用它。
对此的任何帮助将不胜感激。我只需要有人给我一个起点并帮助我指明正确的方向。
【问题讨论】:
标签:
c#
visual-studio-2010
forms
backgroundworker
【解决方案1】:
我会在您的子表单中创建一个父表单订阅的事件。在您的子表单中,每当您的后台工作人员触发 ProgressChanged 事件时,您基本上都会触发您的子表单向父表单公开的事件。
您还可以将子表单中的 BackgroundWorker 公开给父表单,以便它可以订阅 ProgressChanged 事件。
编辑:
订阅事件:
backgroundWorker1.ProgressChanged += new ProgressChangedEventHandler(backgroundWorker1_ProgressChanged);