C# WinForm登录窗口代码

Main窗体为应用程式主窗体,Login为登录窗体。均为SDI窗体。 
    两种实现方式如下:

  1、应用程式入口放在Login窗体,在Login窗体实现登录机制,验证通过则创建Main窗体的实例,并将自身隐藏。

  具体实现:

  ///Step1:验证登录
  ///Step2:通过
   this.hide(); 
   oMain.Show();

  虽然可以实现登录机制,但是Login窗体并没有释放掉,而是被隐藏掉,内存资源未有效利用。这种方式其实是不可取的。

  2、应用程式入口放在Main窗体,在Main函数中创建Login窗体的实例,Login窗体完成登录验证,返回Main窗体,程式继续执行。需要注意的是Login窗体只有验证通过时返回值才为DialogResult.OK,其余时返回DialogResult.None。这样在Main窗体就可以根据返回值判断是否创建Main窗体的实例。

        /// <summary>
        /// 应用程序的主入口点。
        /// </summary>
        [STAThread]
        static void Main() 
        {
            frmLogin login = new frmLogin();
            login.ShowDialog();
            if(login.DialogResult.Equals(DialogResult.OK))
            {
                login.Close();
                Application.Run(new frmMain());
            }
        }

登陆窗体,验证成功执行代码 this.DialogResult=DialogResult.OK;

原文地址:https://www.cnblogs.com/51net/p/3589900.html