当前位置 - 養生大全網 - 夏季養生 - 怎麽在backgroundWorker執行時傳遞數據

怎麽在backgroundWorker執行時傳遞數據

BackgroundWorker的ReportProgress()方法,有兩個重載,其中壹個有兩個參數,

ReportProgress(Int32, Object) 第壹個int32,可以用來傳遞運行進度,第二個Object可以返回妳要傳的任何數據,因為它是Object,可以接收任何類型,如果還有多個數據要傳,可以設為數組來傳。

在DoWork方法裏傳入數據

ReportProgress(Progresspercent,result);//傳入數據Progresspercent:進度,result:運行 過程中的結果.

在backgroundWorker1_ProgressChanged事件下,取出數據。

private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e)

{

this.progressBar1.Value = e.ProgressPercentage; //此處取出的是上面傳的int32(Progresspercent)

this.textBox1.Text = e.UserState.ToString(); //此處取出的e.UserState 就是上面傳 入的Object(result)

}