我使用BackgroundWorker将一些数据导出到Excel。 将文件保存到通过SaveFileDialog选择的目录后,我想打开包含文件夹。
我使用ExportFileName作为参数调用RunWorkerAsync(dialog.FileName)。
我的需求是仅在成功保存文件时打开文件夹。 正确的位置是Worker_RunWorkerCompleted(对象发送方,RunWorkerCompletedEventArgs e)方法。可以在这里获取DoWorkEventArgs,还是必须使用私有变量来获取我的exportPath?
答案 0 :(得分:1)
DoWorkEventArgs
对象包含一个名为结果的属性,可用于存储您想要的任何对象。
然后通过RunWorkerCompletedEventArgs
的结果属性将此对象传递给RunWorkerCompleted函数。
您可以使用此属性传递文件名。 例如。
void Worker_DoWork(object sender, DoWorkEventArgs e)
{
string fileName = (string)e.Argument;
//...
e.Result = fileName;
}
void Worker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
string fileName = (string)e.Result;
//...
}