本文介绍了的WinForms关闭()设置的DialogResult到取消的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如果我调用close()在我的WinForm的,似乎即使DialogResult的是无的时候,之后我调用close()我看到它被设置为取消。

If I call Close() in my WinForm, it seems that even though DialogResult is None at the time, right after I call Close() I see that it is set to Cancel.

这听起来正常吗?

推荐答案

这是完全正常的,因为这是预期的行为。然而,这并不等同于单击窗体的右上角的红色X,如果您使用的是MDI或的ShowDialog()

That is completely normal, as it is the intended behavior. However, it is not equivalent to clicking the red "X" in the top right corner of the Form if you are using an MDI or ShowDialog().

当一个表单显示为一个模式对话框,单击关闭
按钮(带的中右上角的X按钮形式)
导致窗体被隐藏,DialogResult属性被设置
到DialogResult.Cancel。 Close方法不会自动调用
当用户点击对话框中的关闭按钮或设置DialogResult属性的
值。取而代之的是,形式被隐藏和
可以再次被显示而不会产生对话框的新实例。
,因为这种行为,你必须调用形式
,当你的应用程序不再需要形式的Dispose方法。

的DialogResult 值可虽然覆盖:

您当
用户点击在该表单的关闭事件的事件处理程序中设置DialogResult属性
关闭按钮可以覆盖分配给DialogResult属性的值。

这篇关于的WinForms关闭()设置的DialogResult到取消的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-19 19:23