【发布时间】:2009-09-12 20:44:45
【问题描述】:
当我使用 X 按钮关闭表单时会触发哪个事件?
我想要仅在按下 X 按钮时触发的事件;我知道有一个 FormClosing 事件,但问题是每次关闭表单时它都会触发......
当frm.close() 执行时它也会触发,我不希望这种情况发生。
【问题讨论】:
当我使用 X 按钮关闭表单时会触发哪个事件?
我想要仅在按下 X 按钮时触发的事件;我知道有一个 FormClosing 事件,但问题是每次关闭表单时它都会触发......
当frm.close() 执行时它也会触发,我不希望这种情况发生。
【问题讨论】:
您可以检查 FormClosingEventArgs 参数的 CloseReason 属性。单击“X”按钮时为 CloseReason.UserClosing。
【讨论】:
没有特定事件连接到表单右上角的 X。
改为使用表单的FormClosing 事件。它有一个 Cancel 参数,如果您不想关闭表单,您可以将其设置为 true。这允许您检查通过其他方式发生的表单关闭,例如单击“确定”按钮。
【讨论】:
正如罗伯特所说,没有与“X”相关的特定事件,但您基本上有两个选项可用于解决您的问题。
(i) Form Closing - 当您单击“X”但在关闭表单之前发生此事件。所以你可以在关闭表单之前使用这个事件处理程序来做一些事情。例如,您可以使用 e.Cancel(); 来阻止表单被关闭/销毁;
(ii) Form Closed - 此事件在表单关闭时发生。
问候
【讨论】:
我使用表单的OnClosing事件,也可以取消。
【讨论】: