public class Test > { > public void Doit() > { > var bg36 = new BackgroundWorker(); > bg36.DoWork += bg36_DoWork; > bg36.RunWorkerAsync(this); > } > > > public void SaveLedgers() > { > } > > private void bg36_DoWork(Object sender, DoWorkEventArgs e) > { > var t = (Test) e.Argument; > t.SaveLedgers(); > } > > }>
>> private void initializeBackgroundWorker() >> { >> bg36 = new BackgroundWorker(); >> bg36.DoWork += bg36_DoWork; >> bg36.RunWorkerCompleted += bg36_RunWorkerCompleted; >> bg36.WorkerReportsProgress = true; >> bg36.ProgressChanged += bg36_ProgressChanged; >> bg36.WorkerSupportsCancellation = true; >> } >>>>
>> private void bg36_DoWork(object sender, DoWorkEventArgs e) >> { >> BackgroundWorker bw = (BackgroundWorker)sender; >>>>
>> bw.ReportProgress(0, "save ledgers"); >>>>
>> private void bg36_ProgressChanged(object sender, ProgressChangedEventArgs e) >> { >> statusTextBlock.Text = (string)e.UserState + "\n\n" + Monitor.peek(); >> if ((string)e.UserState== "save ledgers") >> { >> saveLedgers(); >> } >> } >>