如果我沒有清楚地解釋這些,我很抱歉,但是我正在編寫一個應用程序,它導致我在線程方面出現了一些問題。向父UI線程報告進度
我有一個用於啓動System.Timers.Timer的UI。每次計時器過去時,都會觸發一個打開進度屏幕的工作流程。爲防止在最後一個工作流完成之前啓動另一個工作流,它將鎖定主窗體上的對象。 此進度屏幕啓動並報告使用FileCopyEX進行某些文件複製的進度。
我遇到的問題是進度屏幕直到工作流程完成後才顯示。
希望這將使其更清晰:
主要形式 | Timer Elapses | WorkFlow開始 | 進度屏幕打開(發生的錯誤可追溯到前一個) | 發生文件複製(進度報告回到進度屏幕) 如果沒有錯誤,則在下一次打勾前返回到主屏幕。
直到現在我只實現了非常簡單的線程,所以我不確定如何最好地實現這一點。我已經嘗試在BackGroundWorker上啓動工作流程以將其從UI線程分離,但它的行爲相同。
感謝
你的問題開始於System.Timers.Timer,Elapsed在另一個線程上運行。之後它變得很不清楚。關注BackgroundWorker。 – 2011-03-23 17:23:56