lambda表达式和事件处理程序?

时间:2012-10-09 00:01:35

标签: c# .net c#-4.0

有人向我提到c#支持使用lambda表达式作为事件处理程序,有人可以与我分享一些关于此的参考吗?

首选代码段。

2 个答案:

答案 0 :(得分:11)

您可以使用lambda表达式构建一个匿名方法,该方法可以附加到事件。

例如,如果您使用ButtonLabel制作Windows表单,则可以在构造函数中添加(InitializeComponent()之后):

 this.button1.Click += (o,e) =>
     {
        this.label1.Text = "You clicked the button!";
     };

这将导致标签在单击按钮时发生变化。

答案 1 :(得分:0)

试试这个例子

public Form1()
{
    InitializeComponent();
    this.button1.Click += new EventHandler(button1_Click);
}

void button1_Click(object sender, EventArgs e)
{
}

可以使用此lambda表达式

重写上述事件处理程序
 public Form1()
 {
InitializeComponent();
this.button1.Click += (object sender, EventArgs e) = >
{
    MessageBox.Show(“Button clicked!”);
};
}