65 using System.ComponentModel;
70 BackgroundWorker backgroundWorker;
73 private RunWorkerCompletedEventHandler callbackMethod;
77 public ThreadUtil(DoWorkEventHandler threadedMethod, RunWorkerCompletedEventHandler callbackMethod)
80 this.callbackMethod = callbackMethod;
82 backgroundWorker =
new BackgroundWorker();
84 backgroundWorker.WorkerSupportsCancellation =
true;
85 backgroundWorker.DoWork +=
new DoWorkEventHandler(threadedMethod);
86 backgroundWorker.RunWorkerCompleted +=
new RunWorkerCompletedEventHandler(Callback);
89 private void Callback(
object sender, RunWorkerCompletedEventArgs e)
91 callbackMethod(sender, e);
98 backgroundWorker.RunWorkerAsync();
107 backgroundWorker.CancelAsync();
113 return backgroundWorker.IsBusy;