在c#中形成关闭事件

时间:2011-01-25 11:07:32

标签: c# user-interface event-handling

我正在尝试在表单关闭时进行一些清理工作。我使用以下签名

private void BatchGui_Closing(object sender, FormClosingEventArgs e)

问题是,如果我在那里放置一个断点,代码永远不会执行,那么我如何为表单关闭事件正确编写一个方法呢?

由于

3 个答案:

答案 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;