socket编程中,总提示 
线程间操作无效: 从不是创建控件“textBox1”的线程访问它。如果不调试启动,就没问题,那真正做项目的时候,是不是一定要解决这个问题呢? 又如何解决呢?谢谢各位高人!

解决方案 »

  1.   

    在线程中不能直接访问空间用委托,网络上有这样的例子.
    基本是路
    public delege void CallSetText(string txt);
    pub void SetText(string txt)
    {
      if (this.text1.isrequired)
    {
      this.text1.text=txt;
    }
    else
    {
      this.invken{
    }
    }
    }在你的线程里直接用SetText("232");
      

  2.   

    你需要使用invoke来调用方法,如:
    delegate void invokeMethod(object obj); 
    private void aaa(object obj) 

        if (this.InvokeRequired) 
        { 
            invokeMethod m=new invokeMethod(aaa); 
            this.Invoke(m, obj); 
            return; 
        } 
        ....//code here 
    }
      

  3.   

     不安全但能用:
    Form.CheckForIllegalCrossThreadCalls = false;