启动时以及ShowDialog关闭时用于执行代码的事件

时间:2015-12-24 12:13:56

标签: c# winforms events

我有表单(form1),当用户点击它时我有按钮,它将使用“form2.ShowDialog()”打开另一个表单(form2)。

我的问题是我在form1中寻找一个事件,它需要在打开form1和关闭form2时执行。

到目前为止,我已尝试过Activated和其他几个事件,但我无法找到解决方案。 MSDN中还显示了一个名为“GotFocus”的事件,但我无法在visual studio中找到它,所以我觉得可能已经折旧了。

1 个答案:

答案 0 :(得分:1)

如果您正在使用ShowDialog(),那么Form1中的执行将在此时暂停。当您关闭Form2时,继续执行下一行。

只需将Form2在ShowDialog()之后立即关闭时执行的代码放置。

Form2 form2 = new Form2();
form2.ShowDialog();
// place code here that should execute only after Form2 closes

如果您决定使用Show(),那么这不会有效,但您仍然可以订阅Form2的FormClosed事件,该事件会在Form2关闭时触发。

Form2 form2 = new Form2();
form2.FormClosed += (s, e) => { /* code that executes after Form2 closes */ };
form2.Show();