使用C#Windows.Forms,方法Invalidate(),Refresh()等是否必须在主/ GUI线程上运行(需要Invoke / BeginInvoke)?如何更改GUI对象的成员,例如添加/删除点或更改Charting.Chart对象中的系列颜色?
我在工作线程中发生了一些更改而没有任何问题(所以我想它们还可以吗?),但是我试图区分出哪些更改是GUI线程上显式要求的,哪些更改可以在对象中发生.工作线程.是否有人在此主题的链接或书籍参考指南?
解决方法:
通常,通常应假定对GUI元素的所有更改都应在UI线程上进行.
通常,在测试期间可以对后台线程进行更改,但是会中断部署后的工作.通常,除非另有说明,否则假设所有内容都应位于UI线程上要安全得多.