.net2005环境下线程间控件访问的简单方法
2007-03-30 06:56
330 查看
.net 2005为了增加安全性,在默认情况下,多线程操作时,一个线程是不能够修改另外一个线程创建的控件的,而在2003似乎是可以的。线程间空间访问的常规方法那就是用代理(Delegate),执行invoke方法,这是.net所推荐的方法,具体用法介绍的文章很多,就不再赘述。
用代理进行线程间访问时,对每一个跨线程控件的修改都要定义相关的代理方法,相对麻烦一些,如果在对系统安全性要求不高的情况下可以用一种简单的方法:在创建空间的窗体构造函数中添加如下代码:
System.Windows.Forms.Control.CheckForIllegalCrossThreadCalls = false;
即不进行跨线程合法性检查,这样虽然是.net所不推荐的方式,但是简便了很多。
用代理进行线程间访问时,对每一个跨线程控件的修改都要定义相关的代理方法,相对麻烦一些,如果在对系统安全性要求不高的情况下可以用一种简单的方法:在创建空间的窗体构造函数中添加如下代码:
System.Windows.Forms.Control.CheckForIllegalCrossThreadCalls = false;
即不进行跨线程合法性检查,这样虽然是.net所不推荐的方式,但是简便了很多。
相关文章推荐
- WPF - 学习笔记 简单的跨线程访问控件方法
- 黑马程序员-解决系统报错“线程间操作无效: 从不是创建控件" txtbox1" 的线程访问它”问题的方法
- “线程间操作无效:从不是创建控件“XX”的线程访问它”的解决方法
- VS2005的“从不是创建控件的线程访问它”的解决方法
- 跨线程访问控件的简单解决
- Winform 跨线程访问控件的两个方法总结
- 线程间操作无效 从不是创建控件 的线程访问它。——解决方法
- 小结“线程间操作无效: 从不是创建控件的线程访问它” 错误的解决方法
- 线程间操作无效: 从不是创建控件的线程访问它的两种方法
- 线程间操作无效 从不是创建控件“___”的线程访问它”解决方法的疑惑
- 小结“线程间操作无效: 从不是创建控件的线程访问它” 错误的解决方法
- 线程间操作无效: 从不是创建控件“”的线程访问它的解决方法~
- WPF / Win Form:多线程去修改或访问UI线程数据的方法( winform 跨线程访问UI控件 )
- 线程间操作无效: 从不是创建控件“”的线程访问它~~~的解决方法~ 线程间操作无效: 从不是创建控件“Control Name'”的线程访问它问题的解决方案及原理分析
- C#多线程与跨线程访问界面控件的方法
- 线程访问窗体的控件方法
- VS2005中更新其他线程访问界面线程控件的方法
- 转:线程间操作无效: 从不是创建控件“”的线程访问它~~~的解决方法~
- 使用委托及控件的invoke方法处理窗体控件的跨线程访问
- 从.NET 1.1 升级到.NET 4.0 遇到 线程间操作无效: 从不是创建控件 [XX] 的线程访问它.