vs2003升级到vs2005线程对窗体控件引发的错误

来源:互联网 发布:深圳单片机培训 编辑:程序博客网 时间:2024/06/05 08:05
关于线程对窗体控件的引用错误
Visual Studio 2005写了个很简单的程序,主要是在主窗体外创建了一个线程,让它专门刷新进度条。曾经在Visual Studio 2003里写过这个程序并且可以正常运行的,2005里却出现了异常。线程间操作无效:不是从创建它的线程里访问。
哦,后来才发现这是2005的新特点。
解决方案:
1、可以通过将 CheckForIllegalCrossThreadCalls 属性的值设置为 false 来禁用此异常。这会使控件以与在 Visual Studio 2003 下相同的方式运行。
2、解决方法:使用窗体从Control继承而来的Control.Invoke(Delegate)方法。该方法将在创建窗体的线程上执行委托指向的方法。
? 注意:在VS2003下,可以在一个线程中直接或间接调用另一个线程中的窗体的方法,而不会导致运行时错误。
详情参看“”Windows窗体控件进行线程安全调用
 
原创粉丝点击