关闭活动表单后,在另一个表单上调用事件处理程序

时间:2013-06-18 13:30:03

标签: c# formclosing active-form

我有一个C#应用程序,在关闭活动表单后,我需要在表单上执行特定或函数。

我需要代码执行的表单在前一个活动表单关闭后成为活动表单。因此,在关闭此表单之后,我需要事件处理程序或函数运行的表单将成为活动表单。有可能这样做吗?

我已经在窗体上尝试了Form_Enter事件处理程序,该窗体在关闭其他窗体后变为活动状态,但是没有用。

2 个答案:

答案 0 :(得分:1)

我相信你可以更简单地实现你想要做的事情。用于从Form1(Main)显示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
    }
}

答案 1 :(得分:1)

在表单结束事件中,将DialogResult设置如下:

private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
    this.DialogResult = System.Windows.Forms.DialogResult.Yes;
}

当您打开表单时,请按以下方式查找响应:

if (Form1.ShowDialog() == DialogResult.Yes)
{
    ////do stuff.
}

我希望这会有所帮助。

相关问题