backgroundworker 和progressbar使用中的好像有部份代碼不執行

如題,在button的Click事件中
bgwork.RunWorkerAsync();
bgwork.WorkerReportsProgress = true;
progressBar1.Show();
IAsyncResult result = progressBar1.BeginInvoke(new Action(delegate { getdata() }));
result.AsyncWaitHandle.WaitOne();
progressBar1.EndInvoke(result);
在執行的過程中好像在執行完bgwork的DOWORK事件處理程序之後就不在執行了compeleted事件也不觸發,調試中beginInvoke()的委託好像也不觸發了,大神們能說說爲什麽嗎?
現在我都是一頭霧水。

http://blog.csdn.net/zyming0815/article/details/5633959