我有表单(form1),当用户点击它时我有按钮,它将使用“form2.ShowDialog()”打开另一个表单(form2)。
我的问题是我在form1中寻找一个事件,它需要在打开form1和关闭form2时执行。
到目前为止,我已尝试过Activated和其他几个事件,但我无法找到解决方案。 MSDN中还显示了一个名为“GotFocus”的事件,但我无法在visual studio中找到它,所以我觉得可能已经折旧了。
答案 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();