需求:
有一个登录窗体,有一个主窗体,登录窗体登录进去之后,就隐藏掉了。
主窗体右上角有个关闭按钮(窗体自带的),窗体上还有个《重新登录》按钮,
通过关闭右上角上的关闭按钮,关闭整个应用程序,当我点击《重新登录》按钮时,可以把登录界面调出来。重新新登录
方法一:
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(); } }