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

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

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

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

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

以下是示例代码


在使用方法2时的注意事项: 不要将除了控件访问外其他逻辑代码放到委托的回调方法中.
posted @ 2006-12-05 20:51  周银辉  阅读(2543)  评论(2编辑  收藏  举报