我正在使用VS 2015 winform后台工作人员执行一些任务。DoWork()完成后将变量传递给RunWorkerCompleted()
我有DoWork()
方法,它使用List<string> myList
,它删除列表中的每个条目,一旦某个过程完成。我的目标是让用户知道myList
中的哪些条目未被处理(因为它在每个进程后删除了一个条目,最后剩下的就是未处理的条目)。为此,我打算将myList
变量传递给RunWorkerCompleted()
,但我不仅不知道如何做到这一点,我甚至不确定这是否是最好的方法。
有没有更好的方法让用户知道myList
中的哪些条目没有被处理,如果没有,我将如何将DoWork()中的变量传递给RunWorkerCompleted()?
当前RunWorkerCompleted()方法:
private void bgw_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
if(e.Error != null)
{
MessageBox.Show(e.Error.ToString());
}
else
{
MessageBox.Show("Done!");
}
}
基本上,我想在MessageBox显示,当它完成运行任务
任何理由不使用异步/等待而不是后台工作,因为这是推荐的方法? –
我是一个初学者用户,所以我不完全知道其中的差异,但我认为异步是基于Web的应用程序。 Mine is offline winform(like no network connection,not using server) – djskj189
@ djskj189对于任何处理异步操作的应用程序,“async”都是一个有用的工具。如果你有一个异步操作,你可以使用它。 – Servy