陷入聆听事件的另一种形式。

当我尝试关闭Form2时,Form1上没有任何反应。我想在Form2关闭时在Form1中做一些事情。

这是我的Form1代码

public partial class Form1: Form
        {
             public Form1()
            {
                InitializeComponent();

                Form2 frm2= new Form2();
                frm2.FormClosing += new FormClosingEventHandler(frm2_FormClosing);
            }

            void frm2_FormClosing(object sender, FormClosingEventArgs e)
            {
                throw new NotImplementedException();
            }

最佳答案

您需要显示要实现其FormClosing事件的对象。由于您要创建的新对象位于构造函数中,因此我假设frm2不是您要显示的Form,这意味着您没有处理该事件。

public Form1()
{
    InitializeComponent();

    Form2 frm2 = new Form2();
    frm2.FormClosing += frm2_FormClosing;
    frm2.Show();
}

void frm2_FormClosing(object sender, FormClosingEventArgs e)
{
    MessageBox.Show("Form2 is closing");
}

08-06 19:44