由于Windows窗体控件本质上不是线程安全的。因此如果有两个或多个线程适度操作某一控件的状态(set value),则可能会迫使该控件进入一种不一致的状态。还可能出现其他与线程相关的bug,包括争用和死锁的情况。所以VS2005这一改动便可以增强线程安全性。 我想大家更关心的是如何解决这个问题,如何才能操作其它线程中的控件而不引发异常,接下来我们来探讨下这个问题: 第一种方法: 这种方法我没用过,因为大家推荐不要使用,所以我没去实验过,具体方法如下(摘自网上): 设置System.Windows.Forms.Control.CheckForIllegalCrossTh