我的组件“BackgroundWorker”有问题
当我点击一个按钮时,我必须执行 n 次迭代,这需要时间并且我必须将此操作委托(delegate)给另一个线程
我遵循了本教程:tutorial (in french)
这是我的代码:
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 组件 这是我想委托(delegate)的方法:
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 指令或程序集引用?)
有人有想法吗?
最佳答案
尝试添加:
using System.ComponentModel;
关于BackgroundWorker 的 C# 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6110485/