【发布时间】:2013-12-01 05:21:33
【问题描述】:
我正在处理一个在启动期间加载大量联系人数据的应用程序(Win Forms / VS 2010)。效果很好。
一个新的要求是这个应用程序(我们称之为主应用程序)也可以显示一个模态对话框,并且在该对话框中用户可以查看不同联系人的数据。但是主应用程序(位于模态对话框后面)也需要在每次用户更改模态对话框中的联系人时加载联系人数据(因为两个窗口对用户都是可见的;使主应用程序不可见并不是一个选项)。所以模态对话框和主应用程序需要同步。
我的问题是:我想在这种情况下“在后台”将更改后的联系人加载到主应用程序中,因为每次加载联系人时都会运行业务逻辑,因此加载需要一点时间。
我们已经获得了用于将联系人从主应用本身加载到主应用的主应用代码(即在主线程上执行),并且运行良好。
但是,当它在单独的线程上(在模态对话框后面的后台)执行时,我将如何重用该代码?我担心的是这段代码(在主应用程序上加载联系人)做了很多 GUI 更新,理想情况下我不想更改现有代码中的所有 GUI 更新以查看例如如果需要调用等(因为现有代码现在不在主线程上执行)。
感谢任何想法。
【问题讨论】:
标签: .net multithreading winforms visual-studio-2010 backgroundworker