关闭form1后form3仍启动

img

img


我有三个form,分别是LogOn,Admin和Student,用diagresult控制后两个form的启动,但如果登录页面叉掉的话,frmStudemt会继续启动,该怎么办呢

有多种解决方案:
1.在登录页面禁用右上角的关闭按钮,然后在登录窗体中多加一个【退出】按钮,再在退出按钮的点击事件写退出程序的逻辑,如下:

img

using System.Windows.Forms;

namespace WindowsFormsApp1.Forms.Demo01
{
    public partial class FormLogin : Form
    {
        public FormLogin()
        {
            InitializeComponent();
        }

        private void btnLogin_Click(object sender, System.EventArgs e)
        {
            DialogResult = DialogResult.OK;
        }

        private void btnExit_Click(object sender, System.EventArgs e)
        {
            Application.Exit();
        }
    }
}

2.不禁用右上角的关闭按钮:
在程序中定义全局变量,当点击登录时赋值此变量的值,然后注册登录窗体的FormClosed或者FormClosing事件,在这两个事件的其一中,根据全局变量判断是用户登录成功还是退出程序。