最近在开发项目时用到了操作线程的问题,在新线程中写入了操作控件的代码如:
this.btnToolUpload.Enabled = true;
但是在线程执行过程中,当执行到这段代码时提示:“线程间操作无效, 从不是创建控件“btnToolUpload”的线程访问它。”
出现这种错误的可能原因是为了线程之间的安全问题,但是我在做的项目中对安全这个问题不是很看重,只是为了上传一个文件,所以没有去关心线程间的安全。
解决方法是在线程开始时加入下面一行代码即可:
Control.CheckForIllegalCrossThreadCalls = false;
当然,如果考虑到线程安全问题,这种方法可能不适合了~~~~
开发环境:Visual Studio 2008+XP