winforms C#关闭应用程序时子窗体上的关闭事件

9fkzdhlc  于 2023-02-13  发布在  C#
关注(0)|答案(1)|浏览(297)

早上好伙计们。
我遇到了一个小问题。如果我在打开第二个窗体时关闭主窗体(Windows-App),第二个窗体会在没有使用secondForm_FormClosing事件的情况下关闭。
有人有办法处理吗?
第二表单_表单关闭

igetnqfo

igetnqfo1#

第二个窗体是窗体/类本身的示例,因此除非您将其设置为MDI应用程序,否则第二个窗体将不会接收Closing或Closed事件,因为程序正在退出。
您可以从Form 1的关闭事件点击进入第二个窗体FormClosing事件,这是许多方法之一:

public Form1()
{
    InitializeComponent();
    frm2.FormClosing += new FormClosingEventHandler(form2_FormClosing);
    frm2.Show();
}

private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
    form2_FormClosing(null, e);
}

private void form2_FormClosing(object? sender, FormClosingEventArgs e)
{
   // This will only get called "directly" when the second form is 
   // closed otherwise it will always be called from Form1_FormClosing.
}

相关问题