我正在编写一个使用backgroundWorker1_doWork()
递归填充string []数组并通过DoWorkEventArgs e
返回的程序,你是怎么做到的?感谢
答案 0 :(得分:3)
如果我正确理解了您的问题,那么您可以使用e.Result
数组在backgroundWorker1_doWork()
事件处理程序中设置string[]
,然后在RunWorkerCompleted
事件处理程序中使用它。
以下是我在winforms中编写的代码。
BackgroundWorker work = null;
private void button1_Click(object sender, EventArgs e)
{
work = new BackgroundWorker();
work.DoWork += new DoWorkEventHandler(work_DoWork);
work.RunWorkerCompleted += new RunWorkerCompletedEventHandler(work_RunWorkerCompleted);
work.RunWorkerAsync();
}
void work_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
string[] arr = (e.Result as string[]);
foreach (var item in arr)
{
MessageBox.Show(item);
}
}
void work_DoWork(object sender, DoWorkEventArgs e)
{
string[] arr = new string[3];
arr[0] = "aa";
arr[1] = "bb";
arr[2] = "cc";
e.Result = arr;
}
希望这有帮助