2013-04-12 84 views
0

我对vb.net很陌生,我试图在用户关闭表单时创建一个特殊的系统。 对于我的系统,我想手动提高FormClosing事件。VB.NET - 手动提高FormClosing事件

- >所以:我怎样才能从代码中的某个地方提高FormClosing事件?

信息:窗体弹出为“ShowDialog”。

谢谢!

+0

为什么不直接叫'Close'的形式? – sloth

+0

当然!很容易想到..你可能知道评论nr。的答案。 2在史蒂夫的回答中? – hark

回答

1

要手动强制FormClosing事件,请使用要关闭的窗体实例调用Close()方法。

这意味着您的Close()调用应该从显示的表单内完成,因为您已使用ShowDialog()。此方法为模态,直到窗体关闭才返回控件

FormClosing事件接收FormClosingEventArgs参数,您可以在其中找到CloseReason属性。此属性是一个枚举,您可以查看关闭事件的原因。

如果原因是UserClosing,那么你可以设置FormClosingEventArgs的财产取消为true(离开形式开放),并打电话给你自己的程序

+0

非常感谢!思考复杂只是防止我找到这个简单的答案。 – hark

+0

您是否知道如何从表单的X按钮中解除标准FormClosing事件的绑定并绑定一些自定义事件? – hark

+0

不是直接重新绑定,而是可以设计一种解决方法。检查更新的答案 – Steve