窗体关闭时的操作c#
我在上大学,这是我的第一个(专业)项目 我试图在窗体关闭时执行一个操作。在网上搜索时,我似乎没有掌握正确的术语,或者给出的答案与我想做的不匹配 目前,我正在声明一个类并显示-窗体关闭时的操作c#,c#,C#,我在上大学,这是我的第一个(专业)项目 我试图在窗体关闭时执行一个操作。在网上搜索时,我似乎没有掌握正确的术语,或者给出的答案与我想做的不匹配 目前,我正在声明一个类并显示- private void createuser_Click(object sender, EventArgs e) { User_Modification mod = new User_Modification("Create", "Create"); mod.ShowDialog(); } 我想做的是-
private void createuser_Click(object sender, EventArgs e)
{
User_Modification mod = new User_Modification("Create", "Create");
mod.ShowDialog();
}
我想做的是-
WHEN mod IS CLOSED {
// Do stuff
}
您将要查看两个事件:
Form.FormClosing
:
Form.FormClosed
:
第一个选项允许您在表单完全关闭之前执行操作,例如取消关闭过程。第二个是如果希望在表单关闭后执行操作(例如,可能是为了清理资源),您将使用什么
因此,作为一个示例,假设您希望在窗体实际上已关闭时执行一个操作:
// 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");
}
您需要创建一个处理程序来捕获FormClosed事件: 在您的构造函数中,请执行以下操作:
this.FormClosed += Form_Closed;
然后在表单主体中添加此方法
private void Form_Closed(object sender, FormClosedEventArgs e)
{
// Do stuff
}
您应该将处理程序附加到
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");
}
protected override void OnFormClosing(FormClosingEventArgs e)
{
base.OnFormClosing(e);
// your code...
}
如果您使用的是WinForms,则可以覆盖
OnFormClosing
事件:
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");
}
protected override void OnFormClosing(FormClosingEventArgs e)
{
base.OnFormClosing(e);
// your code...
}
您使用的是
ShowDialog
,因此它后面的代码直到对话框关闭后才会执行<代码>mod.ShowDialog();doStuff()代码>会很好地工作。Look在窗体的事件中,您应该会看到关闭、关闭等内容。您尝试在线搜索“Form closed C#”,但没有得到任何有用的内容?ShowDialog
显示一个模式对话框。您可以在它之后的下一行开始“做事情”。。Closed
是一个过时的事件。NET 2.0引入了.FormClosed
,现在应该使用它。订阅事件是更好的做法,除非您需要显式重写OnFormClosed中的行为。两个目的应该是两个处理程序。添加到Nadia的答案中,您可以在User\u modification
中设置DialogResult
,并将该值设为ShowDialog()
调用的返回值。这可以用作做其他事情的成功/失败标志。根据需要返回OK
或Cancel
。。。