C#的問題,我有一個組件「的BackgroundWorker」問題與BackgroundWorker的
當我點擊一個按鈕,我必須執行需要時間n次迭代,我必須委託該操作到另一個線程
我跟着這個教程: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康波新界東北 這裏是我想委託方法:
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指令或程序集引用?)
有人有想法嗎?
貴命名空間聲明是什麼樣子,你使用的是什麼版本的.NET和,尤其是你引用System.ComponentModel.Component? http://msdn.microsoft.com/en-us/library/system.componentmodel.backgroundworker.aspx – Terrance 2011-05-24 12:38:51
您是否添加了使用System.ComponentModel? – klennepette 2011-05-24 12:38:55