簡體   English   中英

關閉活動表單后,在其他表單上調用事件處理程序

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM