我从DataBase读取了包含数据的 .text 文件,然后在经过一些处理后上传到另一个数据库。
此过程遵循以下模式:
在 View 项目中,我选择文件并将其路径trought参数传递给 Controller 项目,该项目调用 Model 项目,谁执行所有进程和格式化,然后调用 DataAccess 项目进行保存。 ( Model 项目调用 DataAccess 项目。)
在表格中,在视图中,我有一个BackGroundWOrker组件,其中DO_Work事件调用Controller,以启动上面的过程。
我也有一个ProgressBar,它通过BackGroundWorker.ReportProgress()函数更新。
那么,我怎样才能告诉BackGroundWorker在我保存在数据库中的每个注册表中进度都在增加?
答案 0 :(得分:0)
有很多方法可以做到这一点,具体取决于你想要容忍的耦合程度。
View可以将对BackgroundWorker的引用传递给Controller。 Controller定期调用BackgroundWorker的ReportProgress方法。
View将对抽象接口(例如IProgressReporter)的引用传递给Controller。 Controller定期调用IProgressReporter.ReportProgress,View将其连接到BackgroundWorker。
Controller会公开一个定期触发的事件来报告进度。 View处理此事件并调用BackgroundWorker的ReportProgress方法。