如何在多線程中調用winform窗體控件(續)

如何在多線程中調用winform窗體控件(續) 
  以前《在如何在多線程中調用winform窗體控件》文章中,有關多線程調用的一段代碼:
private Thread myThread; private void Form1_Load(object sender, EventArgs e) {      myThread = new Thread(new ThreadStart(RunsOnWorkerThread));      myThread.Start(); } private void RunsOnWorkerThread() {      MethodInvoker mi = new MethodInvoker(SetControlsProp);      BeginInvoke(mi); } private void SetControlsProp() {      label1.Text = "myThread線程調用UI控件"; } 當時使用的聲明委託的方式,後來本身看着實在以爲不爽,代碼太複雜了,下面對這段代碼優化了一下,在Load事件中的代碼以下: private void Form1_Load(object sender, EventArgs e) {       Thread thread = new Thread(new ThreadStart(           () =>           {               this.BeginInvoke(new EventHandler(                  (object o, System.EventArgs e1) => { textBox1.Text = "內容已設置"; }));           }));       thread.Start(); } 使用匿名委託的形勢後主要是減小了代碼的理解難度,也方便維護。 
相關文章
相關標籤/搜索