在用户控件中从MainForm获取backgroundworker

时间:2018-09-21 13:52:04

标签: c#

我有一位背景工作人员的表格 当我单击按钮时,背景工作人员将以以下代码开头:

private void backgroundWorker_DoWork(object sender, DoWorkEventArgs e)
{
     M_Results m_Results = new M_Results();
     this.Controls.Add(m_Results);
     m_Results.Location = new Point(0, 0);
     m_Results.Visible = true;
}

在用户控件中,我试图报告后台工作的进展,我所做的是:

   BackgroundWorker bgWorker;
   public Results()
   {
        Form mainform = this.Parent as Form;
        bgWorker = Padre.Controls["backgroundWorker"] as BackgroundWorker;
        InitializeComponent();
        Inicializartablas();
        Formatotablas();
   }

但是出现错误,无法将Form.control转换为backgroundworker。

谢谢你 卡洛斯

1 个答案:

答案 0 :(得分:0)

BackgoundWorker不会从Control继承,尽管没有添加到“控件列表”中。您可以利用BackroundWorker的现有Reporting API。您可以挂钩ProgressChanged事件,并使用ReportProgress方法引发事件。