2012-09-15 34 views
0

我是C#的新手,我創建的應用程序需要使用兩種形式 一個是Mainform和其他是DialogForm在c#Forms中調用不同形式的按鈕?

DialogForm有兩個按鈕btnYesbtnNo。每當用戶點擊關閉按鈕

FormClosing事件調用在我打電話的DialogForm如下圖所示:

DialogForm ex = new DialogForm(); 
ex.ShowDialog(this); 

現在我想給e.cancel=falsebtnYese.cancel=truebtnNo

(這個由我的先生,只有基本解釋)我知道怎麼給函數的Button這是在同一Form,但我不知道,如果Form是如何不同。

我已經通過了一些links,但由於我是新來的C#,我無法理解它。 如果你至少爲我提供了一些可觀的鏈接。

在此先感謝。

回答

1

表單有一個屬性DialogResult。您可以在按鈕事件處理程序中進行設置。

DialogResult = DialogResult.Yes; 
// or 
DialogResult = DialogResult.No; 

然後就可以調用的形式這樣

if (ex.ShowDialog(this) == DialogResult.Yes) { 
    // Do something 
} else { 
    // Do something else 
} 

您還可以設置在屬性窗口形式的CancelButton財產。 Microsoft說:

獲取或設置用戶按下ESC鍵時單擊的按鈕控件。

該表格還有一個AcceptButton屬性。 Microsoft說:

獲取或設置當用戶按下ENTER鍵時單擊窗體上的按鈕。

+0

是的,它的工作。但有沒有其他方式可以調用其他表單按鈕。我的意思是使用'實例'或其他任何東西?請給任何鏈接,我不想浪費你的時間@Olivier Jacot-Descombes –

+1

你可以使按鈕點擊事件處理程序公開並從其他地方調用它。 'public void btn_(object sender,EventArgs e){...}'。 'otherform.btn_Click(this,EventArgs.Empty);'。如果你想關閉另一個表單,只需調用'otherform.Close();'。而且,因爲您始終可以在表單中創建您自己的公共方法。例如。 'public void ClearAllFields(){...}'。 –

+0

非常感謝 –

相關問題