如何知道用户是否在表单中单击了X.

Etr*_*rit 0 c# winforms

感谢所有努力回答我的问题的人.

我正在使用WinForms C#,在MainForm_Load上,我正在为用户调用Login表单.登录表单包含X按钮(右上角的默认按钮)和Login按钮.

现在...

如果用户决定点击X按钮,登录表单将关闭,MainForm也应该关闭,我知道该怎么做.但是......如果用户点击LoginButton,LoginForm应该关闭,但MainForm应该保持打开状态.

有什么想法吗?

mus*_*fan 5

假设您正在使用ShowDialog显示登录表单,那么您可以这样做:

if(LoginForm.ShowDialog() == DialogResult.OK)
{
   //login ok
}
Run Code Online (Sandbox Code Playgroud)

您的登录表单应该在关闭之前将DialogResult设置为OK,但仅限于成功登录,如下所示:

if(LoginSuccess){
    this.DialogResult = DialogResult.OK;//this will also close the form
}
Run Code Online (Sandbox Code Playgroud)

  • 你不需要Close()调用; 设置DialogResult会自动隐藏表单并将执行返回到ShowDialog()行. (3认同)