BackgroundWorker 的简单使用:
class MyObject
{
private BackgroundWorker _bgworker;
public BackgroundWorker Bgworker
{
get { return _bgworker; }
set { _bgworker = value; }
}
public MyObject()
{
this._bgworker = new BackgroundWorker();
this._bgworker.DoWork += new System.ComponentModel.DoWorkEventHandler(this.bgworker_DoWork);
this._bgworker.RunWorkerCompleted += new System.ComponentModel.RunWorkerCompletedEventHandler(this.bgworker_RunWorkerCompleted);
}
private void bgworker_DoWork(object sender, DoWorkEventArgs e)
{
//do someting
}
private void bgworker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
//do someting
}
public void run()
{
if (!_bgworker.IsBusy)
{
this._bgworker.RunWorkerAsync();
}
}
}
(new MyObject()).run();