public void Play(ProgressDel progressDel) { //MethodInvoker mi = new MethodInvoker(() => //{ // Console.WriteLine("PlayLoop thread = " + Thread.CurrentThread.ManagedThreadId); // for (int i = 0; i < 100; i++) // { // Thread.Sleep(100); // progressDel.Invoke(i); // } //}); //mi.BeginInvoke(null, null); BackgroundWorker bgw = new BackgroundWorker(); bgw.WorkerReportsProgress = true; //bgw.DoWork += bgw_DoWork; bgw.DoWork += (o, e) => { for (int i = 0; i < 100; i++) { Thread.Sleep(100); bgw.ReportProgress(i); } }; bgw.ProgressChanged += (o, e) => progressDel.Invoke(e.ProgressPercentage); bgw.RunWorkerAsync(); }
public void Play(ProgressDel progressDel) { MethodInvoker mi = new MethodInvoker(() => { Console.WriteLine("PlayLoop thread = " + Thread.CurrentThread.ManagedThreadId); for (int i = 0; i < 100; i++) { Thread.Sleep(100); progressDel.Invoke(i); } }); mi.BeginInvoke(null, null); }
public void Play(ProgressDel progressDel) { BackgroundWorker bgw = new BackgroundWorker(); bgw.WorkerReportsProgress = true; bgw.DoWork += (o, e) => { for (int i = 0; i < 100; i++) { Thread.Sleep(100); bgw.ReportProgress(i); } }; bgw.ProgressChanged += (o, e) => progressDel.Invoke(e.ProgressPercentage); bgw.RunWorkerAsync(); }