我试图理解如何从其他线程更新UI控件。
目前使用BeginInvoke,它工作得很好,但我一直听说你也可以使用SynchronizationContext来完成相同的事情。
哪种方法更好?
此外,从线程更新UI是否是不良做法?是否最好引发事件并由主窗体处理,或者还有其他更可取的方法?
对于这个有点主观的问题,我感到抱歉,但在线程世界中有很多选择,我正在努力理解它们之间的差异以及每个选择的适用范围,以及撰写可读性和可扩展性代码的最佳实践。
编辑:现在我也看到了TaskScheduler.FromCurrentSynchronizationContext
的路线...太多选择了x_x