新手老问题---------跨线程的控件访问

来源:互联网 发布:白领学化妆 知乎 编辑:程序博客网 时间:2024/06/01 08:04
                                  新手老问题---------跨线程的控件访问

                                                                                               电子科技大学03级02班 周银辉

新手经常会遇到这样的问题: a线程去访问b线程的控件,编译器报错(.net1.0编译时好像不会报,.net2.0是肯定会的).

解决方法有3种:
1, 不安全的方法: 将 Control.CheckForIllegalCrossThreadCalls 设置为false (.net1.0中没有)
2,安全的方法: 异步委托
3, 安全的方法: 就是使用BackgroundWorker来替代你自己创建的线程(.net1.0中没有)

以下是示例代码


在使用方法2时的注意事项: 不要将除了控件访问外其他逻辑代码放到委托的回调方法中.
文章来源于 http://www.cnblogs.com/zhouyinhui 版权归原作者所有