C# problem with BackgroundWorker

本文关键字:BackgroundWorker with problem | 更新日期: 2023-09-27 17:57:36

我的组件"BackgroundWorker"有问题

当我点击一个按钮时,我必须执行n次迭代,这需要时间,我必须将此操作委托给另一个线程

我遵循了这个教程:教程(法语)

这是我的代码:

    private void btnIterate_Click(object sender, EventArgs e)
    {
        bgwIterer.RunWorkerAsync();                
    }
    private void bgwIterer_DoWork(object sender, DoWorkEventArgs e)
    {
        BackgroundWorker worker = sender as BackgroundWorker;
        e.Result = new Iterate(btnIterate, btnReinit, txtInput, lblState, entree, worker, e);
    }
    private void bgwIterer_ProgressChanged(object sender, ProgressChangedEventArgs e)
    {
        this.lblState.Text = e.ProgressPercentage;
    }

bgwIterer是我的BackgroundWorker组件这是我想委托的方法:

class Iterate
{
    // Constructeur surchargé de la classe Iterate:
    public Iterate(Button mybtnIterate, Button mybtnReinit,
    TextBox mytxtInput, Label mylblState,
    int myentree, BackgroundWorker worker,
    DoWorkEventArgs e)
    {
        int pourcent = 0;
        int var0 = 0, var1;
        mybtnIterate.Enabled = false;
        mytxtInput.Focus();
        do
        {
            var1 = 0;
            do
            {
                ++var1;
            }
            while (var1 < myentree);
            ++var0;
            pourcent = (var0 / myentree) * 100;
            worker.ReportProgress(pourcent);
        }
        while (var0 < myentree);
        mylblState.Text = "Terminé !";
        mytxtInput.Enabled = false;
    }

}

这就是问题所在:

找不到类型或命名空间名称"BackGroundWorker"(是否缺少using指令或程序集引用?)

有人有主意吗?

C# problem with BackgroundWorker

尝试添加:

using System.ComponentModel;

类名是BackgroundWorker,而不是BackgroundWorker——这就是为什么。

相关文章:
  • 没有找到相关文章