[英]Invoke event handler on a different form after closing the active form
我有一個C#應用程序,在關閉活動表單后,我需要在其中執行表單的特定功能或函數。
關閉前一個活動表單后,我需要代碼執行的表單就變成了活動表單。 簡而言之,關閉此表單后,我需要事件處理程序或函數運行的表單將成為活動表單。 有沒有辦法做到這一點?
我已經嘗試過在其他窗體關閉后變為活動狀態的窗體上的Form_Enter事件處理程序,但這沒有用。
我相信您可以更輕松地實現您想做的事情。 用於顯示Form1(主要)中Form2的代碼,您可以在其中添加代碼,如下所示:
Class Form1 {
private void button_click(object sender, EventArgs e) {
Form2 newForm = Form2();
newForm.ShowDialog(); // To prevent the main form carry on
// Your code needed to be excuted
}
}
在表單關閉事件中,按如下所示設置DialogResult:
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
this.DialogResult = System.Windows.Forms.DialogResult.Yes;
}
當您打開表單時,請查找響應,如下所示:
if (Form1.ShowDialog() == DialogResult.Yes)
{
////do stuff.
}
我希望這有幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.