2010-05-28 32 views
1

假設我有一個backgroundWorker1_DoWork,它在數據庫中找到一個值並在e.Result中返回它。比方說,我也有一個backgroundWorker1_RunWorkerCompleted來讀取結果。基於結果的後臺工作人員重新運行DoWork嗎?

我希望能夠做的是基於e.Result,我可以重新運行backgroundWorker1_DoWork,而我不知道該怎麼做。

我非常感謝任何幫助。

回答

3

在您的backgroundWorker1_RunWorkerCompleted事件中測試e.Result後無法重新啓動BackgroundWorker嗎?

+0

我開始它關閉使用backgroundWorker1.RunWorkerAsnc();在Form1()啓動。如果我想在發佈時重新啓動它,請使用哪些代碼,然後將其放在我的backgroundWorker1_RunWorkerCompleted中? – sooprise 2010-05-28 19:52:18

+0

@Soo - 使用backgroundWorker1.RunWorkerAsync();正如Darin所言。我認爲這是你如何開始背景工作者? – 2010-05-28 19:54:39

+0

很好用! 現在有一個小問題,我應該在Form1()或Form1_Load()中放置第一個RunWorkerAsync嗎? – sooprise 2010-05-28 19:56:06

4

你正在做它第一次以同樣的方式 - 通過調用RunWorkerAsync方法:

backgroundWorker1.RunWorkerAsync(); 

確保調用是空調或這個循環可以一直運行下去:-)