
这样写。//单击事件//因为当this.Close()时会调用FormClosing事件。//你弹框,然后this.Close(),又FormClosing,所以就两次。private void button2_Click(object sender, EventArgs e){ this.Close();//会自动调用这个事件Form1_FormClosing}private void Form1_FormClosing(object sender, FormClosingEventArgs e){ DialogResult d = MessageBox.Show("真的要退出本软件吗?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question); if (d == DialogResult.Cancel) e.Cancel = true;}+=是给事件订阅方法,即当触发这个事件的时候就调用这个方法=>这个是lambda表达式,前面的说这个基本不用,这是不对的,这个就像java中的匿名类一样,在这里实现的是匿名方法,有好处,也有坏处,好处就是代码更加简化,而且看上去清晰,坏处的话在我看来无非就是一个,不能多次调用,所以这个一般会用在需要使用到匿名方法的时候,当然C#还有很多可以声明匿名方法的方法,这只是其中之一,“{}”中的看得懂,方法中的代码。
