我的软件中有5个Group Box我想以不同的方式运行它们,例如我有一个组合框,需要大约20-30分钟的时间,直到我的软件挂起。因此,当特定的组框正在为其工作时,我想让其他功能正常工作吗?
答案 0 :(得分:1)
组合框不工作"。如果他们只是资源密集型任务的某个GUI,您可能希望异步运行该任务(或多线程,具体取决于您的要求),并仅使用GUI进行设置/更新/任何操作。关键是永远不要在GUI线程上做太多工作 - 如果GUI动作花费超过50-100ms,它应该可以在其他地方完成。请注意,使用await
可以很容易地做到这一点 - 如果没有,BackgroundWorker
可能是最好的选择。请注意,它并不能保护您免受同步问题的影响!