我正在尝试在表单关闭时进行一些清理工作。我使用以下签名
private void BatchGui_Closing(object sender, FormClosingEventArgs e)
问题是,如果我在那里放置一个断点,代码永远不会执行,那么我如何为表单关闭事件正确编写一个方法呢?
由于
答案 0 :(得分:4)
在WinForms中,该事件称为FormClosing:
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
}
确保您在设计师中附加了活动。只是添加方法是不够的!
答案 1 :(得分:4)
听起来我忘了设置事件处理程序。 “属性”窗口中的“闪电”图标。
一般来说,最好的事情是覆盖表单的OnXxx方法,你不需要一个事件来监听你自己的类对象的事件。输入:
protected override
并弹出IntelliSense窗口,让您选择OnFormClosing。之后它应该是这样的:
protected override void OnFormClosing(FormClosingEventArgs e) {
// insert your code here
// ...
base.OnFormClosing(e);
}
答案 2 :(得分:1)
我猜您已将此方法与表单Closing
事件相关联?
myForm.FormClosing += BatchGui_Closing;