1

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

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

4

1 回答 1

4

这是设计使然,FormClosing 只有在您实际使表单可见时才会触发。或者更准确地说,是在创建本机 Windows 窗口时。如果您从未调用过 Show(),则 Close() 根本不会做任何事情。您只创建了类对象,FormClosing 不能替代析构函数。

于 2012-12-14T10:40:06.743 回答