C# 窗体与子线程数据交互
一般来说窗体上的UI在默认情况下不允许使用子线程(或者其它非创建控件的UI线程)去控制(这在NET2.0以下是允许的,但是考虑到安全性等问题,从2.0开始就禁止使用这个功能,除非Form的CheckForIllegalCrossThreadCalls=true,不推荐这样使用)。那么如何实现C#窗体与子线程的交互呢?具体方法如下:一、使用Invoke或者BeginInvoke方法:用一个线程,里边...
C#窗体与子线程的交互可以通过Invoke或者BeginInvoke方法,或者线程同步SynchronizedContext实现,需要注意的是,BeginInvoke等同于Invoke,而Post等同于BeginInvoke,Send等同于Invoke,另外,任何委托也有BeginInvoke方法,它是真正的异步,一旦Invoke一定是开辟一个线程去执行的。