1)如果控件不是在线程内创建的,就用invoke,或者用事件
2)用委托来实现,当然也可以设置form的一个属性,这样就不提示线程间操作的异常了
3).net2.0 在子线程操作主线程创建的控件时有些时候会有异常
请参考 ISynchronizeInvoke 的msdn
BeginInvoke | 在执行此对象的主线程上执行委托。 | |
EndInvoke | 等待通过调用 BeginInvoke 启动的进程完成,然后返回该进程生成的值。 | |
Invoke | 在执行此对象的主线程上执行委托,使工作线程等待。 |