这句话是什么意思
是不是说:要在同一个方法里创建的线程才可访问这个控件
即方法a创建了线程a和控件a,那么线程a只能访问控件a,而不可访问方法b创建的控件b?

解决方案 »

  1.   

    说的对。
    想要调用的话,可以这么写
    创建空间的对象.Invoke(delegate()
    {
        创建空间的对象.控件.属性=...;
    }));
      

  2.   

    最简单的方法就是在窗体的构造函数中加上:
    Form.CheckForIllegalCrossThreadCalls = false;
    表示不检查线程间的非法调用,但是我感觉这个方法不是特别安全,lz用的时候小心了
      

  3.   

    我用的Form.CheckForIllegalCrossThreadCalls = false;解决了问题,看到这句的解释是觉得有点保险!
      

  4.   

    小弟正在学习Ing
    改程序的时候遇到同样的问题
    等下实验下哈,顺便弱智的问下
    Invoke调用跨线程的控件 都怎么用呀!……
      

  5.   

    弱弱的问下,Form.CheckForIllegalCrossThreadCalls = false;方法会出现什么后果,1楼得方法怎么使用,没看明白。。
      

  6.   

    用Invoke如何实现呢,弱弱的问一下,打扰各位了。
      

  7.   

    太感谢了,Form.CheckForIllegalCrossThreadCalls = false;确实有用
      

  8.   

    Form.CheckForIllegalCrossThreadCalls = false;有哪位大师不是用这句话,而是用Invoke实现的呢,求,方法。
      

  9.   

    Form.CheckForIllegalCrossThreadCalls = false;方法是直接跳过错误,即不让它报错!比较粗鲁。