private void frmImportFiles_Load(object sender, EventArgs e) { //调用bgwAnalysis的RunWorkerAsync方法,用来引发DoWork事件 this.bgwAnalysis.RunWorkerAsync(); } private void bgwAnalysis_DoWork(object sender, DoWorkEventArgs e) { BackgroundWorker worker = sender as BackgroundWorker; //在DoWork中调用自定义函数,并将引发DoWork事件的sender传递出去 Method(worker); } //控制进度条 private void bgwAnalysis_ProgressChanged(object sender, ProgressChangedEventArgs e) { this.pbAnalysisFiles.Value = this.pbAnalysisFiles.Width*e.ProgressPercentage/100; } private void bgwAnalysis_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { if (e.Error != null) { MessageBox.Show(e.Error.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } else if (e.Cancelled) { MessageBox.Show("取消操作!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } else { //进度完成后的处理 } }