button.Invoke(new EventHandler(delegate{button.Text="关闭";}));button.Invoke(new Action(()=>{button.Text="关闭";}));都可以取得相同的结果。
那么区别差在哪里。
哪个是被推荐的用法。

解决方案 »

  1.   

    参数不对吧,应该有sender和args。这个不说,上下两种写法完全等价,当然,下面的更简单,如果你用VS2008 C# 3.0或者更新的版本,用下面的。
      

  2.   

    下面的写成这样你应该能看懂了吧:
    button.Invoke(new Action(delegate
    {button.Text="关闭";}));
      

  3.   

    下面是lambda表达式=>
    能用委托的地方就能用lambda表达式
    3.0引擎开始支持ms也推荐后者
      

  4.   

    完全一样,下面是lmd表达式的简写方法