2014-01-29 26 views
0

我看到很多类似的问题,但没有任何回答。添加一个按钮事件来关闭表格

我想知道是否有一个事件可以添加到按钮来直接触发form_closing例程。我知道这只是一个执行此使用类似额外的步骤:

buttonOk.Click += new EventHandler(do_something); 

private void do_something(object sender, EventArgs e) 
{ 
    this.DialogResult = System.Windows.Forms.DialogResult.OK; 
} 

但也有一些情况下,哪里会做类似的优势:

buttonOk.Click += new EventHandler(form_close_event..); 

回答

4

您可以使用lambda ,以避免产生新的命名方法,如果你想要做的是足够简单:

buttonOk.Click += (sender, args) => Close(); 
+0

究竟为什么这个网站对我们来说很棒新手,你问了一个问题,它揭示了一个新的概念(lambda)来学习。谢谢! –

2

你可以使用一个anonymous methodsee here)这一点,但实际上,它是一切 一样。

buttonOk.Click += delegate(object sender, EventArgs e) { ... }); 

你可以从里面调用任何方法,所以this.Close()也没关系。