是否有理由不触发WinForm的FormClosing事件?

时间:2012-12-14 10:00:21

标签: winforms

我有一个订阅FormClosing事件的WinForm。当我点击X时,会触发事件。但是,在WinForm上执行Close()时,不会触发该事件。此WinForm永远不会显示。这可能是原因吗?

事件处理程序在WinForm的构造函数中订阅(不在Onload中),因此它们已经注册。

1 个答案:

答案 0 :(得分:4)

这是设计使然,只有在您实际使表单可见时,才会触发FormClosing。或者在技术上更正确,在创建本机Windows窗口时。如果您从未调用过Show(),那么Close()根本不会执行任何操作。您只创建了类对象,FormClosing不能替代析构函数。