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