我在大学,这是我的第一个(主要)项目。
我在表单关闭时尝试执行操作。我似乎没有在网上搜索时获得正确的术语,或者给出的答案与我想要做的不匹配。
目前我宣布一个班级并显示来自 -
private void createuser_Click(object sender, EventArgs e)
{
User_Modification mod = new User_Modification("Create", "Create");
mod.ShowDialog();
}
我想做的就是这个 -
WHEN mod IS CLOSED {
// Do stuff
}
答案 0 :(得分:3)
您正在使用ShowDialog
,因此在关闭对话框之后才会执行其后面的代码。 mod.ShowDialog(); doStuff();
可以很好地运作。
答案 1 :(得分:1)
您想看看两个事件:
Form.FormClosing
:https://msdn.microsoft.com/en-us/library/system.windows.forms.form.formclosing(v=vs.110).aspx
Form.FormClosed
:https://msdn.microsoft.com/en-us/library/system.windows.forms.form.formclosed%28v=vs.110%29.aspx
第一个允许您在表单完全关闭之前执行操作,例如取消关闭过程。第二个是你想在表单关闭后执行操作时使用的东西(可能是为了清理资源,作为一个例子)。
所以,举个例子,让我们说你想在表格实际关闭时执行一个动作:
// Somewhere in your code where you create the form object.
form.FormClosed += Form_FormClosed;
// Somewhere else in your code.
private void Form_FormClosed(Object sender, FormClosedEventArgs e)
{
MessageBox.Show("Form closed");
}
答案 2 :(得分:1)
您需要创建一个处理程序来捕获FormClosed事件:
在你的构造函数中执行:
this.FormClosed += Form_Closed;
然后在表单正文中添加此方法。
private void Form_Closed(object sender, FormClosedEventArgs e)
{
// Do stuff
}
答案 3 :(得分:1)
您应该将处理程序附加到FormClosed
事件:
private void createuser_Click(object sender, EventArgs e)
{
User_Modification mod = new User_Modification("Create", "Create");
mod.FormClosed += new FormClosedEventHandler(FormClosed);
mod.ShowDialog();
}
void FormClosed(object sender, FormClosedEventArgs e)
{
MessageBox.Show("Closed");
}
答案 4 :(得分:1)
如果您使用的是WinForms,则可以覆盖OnFormClosing
事件:
protected override void OnFormClosing(FormClosingEventArgs e)
{
base.OnFormClosing(e);
// your code...
}