.Net 登录窗口 Kevin

 登录窗口,需要实现登录后关闭登录窗口,显示主窗体

1. 在 Program.cs 中修改

 

[csharp] view plaincopy
  1. /// <summary>  
  2.         /// 应用程序的主入口点。  
  3.         /// </summary>  
  4.         [STAThread]  
  5.         static void Main()  
  6.         {  
  7.             Application.EnableVisualStyles();  
  8.             Application.SetCompatibleTextRenderingDefault(false);  
  9.             //  
  10.             frmLogin login = new frmLogin();  
  11.             if (login.ShowDialog() == DialogResult.OK)  
  12.             {  
  13.                 Application.Run(new frmMain());  
  14.             }  
  15.         }  

然后在登录窗体 如果登录成功 添加这段代码

[csharp] view plaincopy
  1. this.DialogResult = DialogResult.OK; this.Close();  


但这样不好实现登录后再log out, 即关闭主窗体,显示登录窗体.

2. 在program.cs中直接开 login form

[csharp] view plaincopy
  1. Application.Run(new frmMain());  

在login form里加入

[csharp] view plaincopy
  1. frmMain frm = new frmMain();  
  2.                 frm.Show();  
  3.                 txtUserName.Text = "";  
  4.                 txtUserName.Focus();  
  5.                 this.Hide();  


主窗体退出是不能用 this.close, 应该用

[csharp] view plaincopy
  1. Application.Exit();  


logout 时用 Application.OpenForms 来找到 之前隐藏的 login form.

 

[csharp] view plaincopy
  1. this.Close();  
  2.       
  3.             Form frm = Application.OpenForms[0];  
  4.             frm.Show();  
  5.             frm.Activate();  


 


另外用户信息可以定义一个类里用静态方法来存

 

[csharp] view plaincopy
  1. internal static class UserInfo  
  2. {  
  3.     static string userName;  
  4.     public static string UserName  
  5.     {  
  6.          get{return userName;}  
  7.          set{userName = value;}  
  8.     }  
  9. }  
原文地址:https://www.cnblogs.com/kfx2007/p/2456644.html