【发布时间】:2015-05-09 18:08:58
【问题描述】:
假设我打开一个这样的对话框:
Login login = new Login();
if(login.ShowDialog(this) != DialogResult.OK)
Application.Exit();
现在,按照标准,登录表单在菜单中有一个关闭按钮,关闭它似乎要么返回 DialogResult.OK 要么根本没有对话结果,我的应用程序继续运行而不会产生任何影响。如何解决这个问题?
【问题讨论】:
-
使用 X 按钮关闭表单应导致 DialogResult.Cancel。我猜你在代码中的某个地方将它设置为 OK 。您能显示
Login中的内容吗? -
@NadiaCibrikova 我的 MainForm 构造函数中显示了 Login,也许这没有帮助?该对话框仅在一个事件回调时返回 DialogResult.OK,而不是在其他任何地方更改它。
-
这不正常……那你可以在表单的构造函数中设置DialogResult为Cancel。
-
也许您不小心更改了表单的属性而不是按钮的属性?我的意思是当您创建“确定”按钮时。签入表单设计器。
-
哦,好吧,不知道发生了什么。我将处理 DialogResult 从 MainForm 构造函数移到了 Login 的 FormClosed 回调,并以这种方式修复了它。很奇怪。