如何在多线程中调用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(); } 使用匿名委托的形势后主要是减小了代码的理解难度,也方便维护。 
相关文章
相关标签/搜索