2014-02-05 35 views
0

我讀取了一個.text文件,這個文件包含數據庫中的數據,然後在一些處理之後上傳到另一個數據庫。如何通過另一個項目中的類更新backGroundWorker.ReportProgress()?

這proccess遵循以下模式:

查看項目,我選擇文件和他的路徑trought參數傳遞給控制器項目,誰調用型號項目,誰做所有的等待處理並格式化,然後撥打DataAccess項目進行保存。 (型號項目調用DataAccess項目)。

在窗體中,在查看,我有一個BackGroundWOrker組件,其中DO_Work事件調用Controller來啓動上面的過程。

我也有一個ProgressBar,通過BackGroundWorker.ReportProgress()函數更新。

那麼,我如何告訴BackGroundWorker進度正在增加,在我保存在數據庫中的每個註冊表中?

回答

0

有很多方法可以做到這一點,這取決於你想要容忍多少耦合。

  1. 該視圖可以將對BackgroundWorker的引用傳遞給控制器​​。 Controller週期性地調用BackgroundWorker的ReportProgress方法。

  2. 該視圖將對抽象接口(例如IProgressReporter)的引用傳遞給Controller。控制器定期調用IProgressReporter.ReportProgress,並將視圖連接到BackgroundWorker。

  3. 控制器會公開一個事件,它會定期觸發以報告進度。該視圖處理此事件並調用BackgroundWorker的ReportProgress方法。

相關問題