2014-01-29 49 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()也沒關係。