我目前正在采用现有设计并重构它的某些方面。我试图将 BackgroundWorker 类包装在一个单独的对象中,并在单独的线程上调用数据导入。我唯一的问题是让 StatusStrip 对象在表单上更新。该应用程序使用反射,我在包装导入例程时考虑了这一点。到目前为止,我已经消除了所有的交叉线程。我已将用于更新表单中的 StatusStrip 的回调重定向到此包装器对象中,并且数据导入正在回调包装器。表单中有一个用于处理原始回调的方法。我只需要弄清楚如何跨线程调用更新。
异步操作部分的工作很大程度上归功于我从 stackoverflow 中获得的信息。除了这个愚蠢的 StatusStrip 之外,所有这些都已连接起来。
凤凰求蛊
相关分类