我正在使用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