当您声明您的DoWork
函数,请注意它内置了一些方便的参数:
Private Sub backgroundWorker1_DoWork(sender As Object, e As DoWorkEventArgs) _
Handles backgroundWorker1.DoWork
并且还注意到类似的论点RunWorkerCompleted
处理程序:
Private Sub backgroundWorker1_RunWorkerCompleted(ByVal sender As Object, _
ByVal e As RunWorkerCompletedEventArgs) _
Handles backgroundWorker1.RunWorkerCompleted
至关重要的是,您可以访问e.Result
,它可以是任何对象,在RunWorkerCompletedEventArgs
,并且e.Result
在你的DoWorkEventArgs
- 当方法完成时,后者将传递给前者,因此在工作方法结束时只需设置:
e.Result = myResult
然后在你的RunWorkerCompleted
处理程序您也可以通过以下方式访问它:
if e.Result = (whatever) then
.... etc
参考 :
RunWorkerCompletedEventArgs.Result 属性:MSDN http://msdn.microsoft.com/en-us/library/system.componentmodel.runworkercompletedeventargs.result%28v=vs.85%29.aspx
DoWorkEventArgs.Result 属性:MSDN http://msdn.microsoft.com/en-us/library/system.componentmodel.doworkeventargs.result%28v=vs.85%29.aspx