关于控件backgroundWorker后台操作的问题
使用.net   2.0新加的backgroundWorker控件进行多线程的操作,其中backgroundWorker下的函数ProgressChanged是负责报告当前程序进度的,这部分代码如下 
                         private   void   backgroundWorker1_DoWork(object   sender,   DoWorkEventArgs   e) 
                         { 
                                     BackgroundWorker   worker   =   sender   as   BackgroundWorker; 
                                     this.changeFormat((data)e.Argument   ,   worker,   e); 
                         }   
                         private   void   backgroundWorker1_ProgressChanged(object   sender,   ProgressChangedEventArgs   e) 
                         { 
                                     toolStripStatusLabel1.Text   =    "正在格式转换.... "   +   e.ProgressPercentage   +    "% "; 
                                     toolStripProgressBar1.Value   =   e.ProgressPercentage; 
                                     if   (e.ProgressPercentage   ==   100) 
                                     { 
                                                 MessageBox.Show( "格式转换成功! "); 
                                     } 
                                     this.Refresh(); 
                         } 
                         private   void   backgroundWorker1_RunWorkerCompleted(object   sender,   RunWorkerCompletedEventArgs   e) 
                         { 
                                     this.Cursor   =   Cursors.Default;                                     
                         } 
 其中                        backgroundWorker1.WorkerReportsProgress   =   true; 
                                     backgroundWorker1.WorkerSupportsCancellation   =   true; 
 现在就是不知道哪里的原因,无法调用backgroundWorker1_ProgressChanged这个函数,也就是说辅助线程是否报告进度无法实现,不明白哪里出错了。 
------解决方案--------------------this.changeFormat((data)e.Argument , worker, e)是做什么的?
------解决方案--------------------ProgressChanged是个事件
------解决方案--------------------ReportProgress这个方法调了么?
------解决方案--------------------事件是发生的,而不是调用的,事件发生时会自动调用相应事件处理代码 
 可以用ReportProgress方法,引发 ProgressChanged事件