登录窗体与主窗体的关闭

需求:

有一个登录窗体,有一个主窗体,登录窗体登录进去之后,就隐藏掉了。
主窗体右上角有个关闭按钮(窗体自带的),窗体上还有个《重新登录》按钮,
 通过关闭右上角上的关闭按钮,关闭整个应用程序,当我点击《重新登录》按钮时,可以把登录界面调出来。重新新登录

方法一:

static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
           
            Application.Run(new FLogin());
        }

 登录窗体  点击 登录 按钮

        private void btLogin_Click(object sender, EventArgs e)
        {
            Form1 f = new Form1(this);
            f.Show();
            this.Hide();

        }

  主窗体 

public partial class Form1 : Form
    {
        Form frmLogin1;
        bool reLogin = false;
        public Form1(Form  frmLogin)
        {
            InitializeComponent();
            frmLogin1 = frmLogin;
        }

        private void btReLogin_Click(object sender, EventArgs e)
        {
            reLogin = true;
            this.Close();
        }

        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {            
                if (reLogin)
                {
                    frmLogin1.Show();
                }
                else
                {
                    frmLogin1.Close();
                }
        
        }
    }

 方法二:

主程序

        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            DialogResult rs;
            using (FLogin fl = new FLogin())
            {
                rs = fl.ShowDialog();
            }
            if (rs == DialogResult.OK)
            {
                Application.Run(new Form1());
            }
        }

 登录窗体

private void btLogin_Click(object sender, EventArgs e)
        {
            if ((userTxt.Text == "test") && (pswTxt.Text == "test"))
            {
                this.DialogResult = System.Windows.Forms.DialogResult.OK;

            }
        }

 主窗体

private void ReLogin_Click(object sender, EventArgs e)
        {
            using (FLogin f = new FLogin())
            {
                f.ShowDialog();
            }
        }
原文地址:https://www.cnblogs.com/rosesmall/p/8856586.html