新手.想问下。 如何实现多线程.  我现在写的 有问题.老是说我在 调用另外一个线程创建的控件...

解决方案 »

  1.   

    如果调用另外线程的控件的话,必须用begininvoke,或invoke
      

  2.   

    跨线程是不能用通常的方式操作控件的。
           private delegate void SetTxt(string txt);
       
            private void SetSISCodeValue(string value)
            {
                if (this.lblSISCode.InvokeRequired)
                {
                    SetTxt st = new SetTxt(SetSISCodeValue);
                    lblSISCode.Invoke(st, new object[] { value });
                }
                else
                {
                    lblSISCode.Text = value;
                }
            }
      

  3.   

    顶 !跨线程是不能用通常的方式操作控件的。 
    还有你为什么一定要用线程去操作控件呢?其实如果只是要得到数据的话传个变量不就OK了!
    还有多线程是不太好处理的,除非网络软件,一般很少用到多线程,如果一定要的话,我是
    这么做的,把启动的线程放到一个数组里面,这样你在外部容易控制,祝LZ好运~