窗体上放了一个TextBox控件Ch_Main然后写了一个事件
btn_Click(object sender...........)
{
            ThreadStart Star= new ThreadStart(SetNR);
            Thread Ts = new Thread(Star);
            Ts.Start();
}void SetNR()
{
    this.Ch_Main.Text="错误信息!";
}然后报错了  请问怎么弄  委托看不懂麻烦给个代码做个参考 网上的复杂

解决方案 »

  1.   

    void SetNR()
    {
                this.Invoke(new Action(() =>
                {
                    this.Ch_Main.Text="错误信息!";
                }));}
    要操作控件,必须使用创建该控件的线程才可以。
    Invoke就是回到创建该控件的线程,该方法接受一个委托。
      

  2.   

    - -!、、好吧同上 不过山寨又不合适
    this.BeginInvoke(new MethodInvoker(() => this.Ch_Main.Text = "Error Message!"));
      

  3.   

    操作主界面控件,要用委托http://www.cnblogs.com/mokey/articles/2095457.html
      

  4.   

    楼主若是嫌委托麻烦 可以在Load事件里加上:            //跨线程调用控件
                System.Windows.Forms.Control.CheckForIllegalCrossThreadCalls = false;
    那么 任何控件都可以在线程里访问了。