首页 > 编程 > C# > 正文

C# winform主界面打开并关闭登录界面的方法

2020-01-24 00:16:18
字体:
来源:转载
供稿:网友

在winform 界面编程中,我们有时候要在主界面打开之前先显示登录界面,当登录界面用户信息校验正确后才打开主界面,而这时登陆界面也完成使命该功成身退了。

目前有两种方法可实现:

方法1. 隐藏登录界面

Program.cs 中代码如下:

/// <summary>/// 应用程序的主入口点。/// </summary>    [STAThread]    static void Main()    {      Application.EnableVisualStyles();      Application.SetCompatibleTextRenderingDefault(false);      Application.Run(new Login()); }

Login.cs 中代码如下:

/// <summary>/// login/// </summary>/// <param name="sender"></param> /// <param name="e"></param>    private void btnLogin_Click(object sender, EventArgs e)    {      if (txtPassword.Text == "12345678")      {        UI ui = new UI();        this.Visible = false;        ui.ShowDialog();//此处不可用Show()        this.Dispose();        this.Close();      }      else      {        MessageBox.Show("Password is incorrect ", "Prompt message",MessageBoxButtons.OK,MessageBoxIcon.Error);      }    }    /// <summary>    /// exit    /// </summary>    /// <param name="sender"></param>    /// <param name="e"></param>    private void btnExit_Click(object sender, EventArgs e)    {      this.Dispose();      this.Close();}

方法2. 登录界面以 dialog形式打开,返回登录结果

Program.cs 中代码如下:

/// <summary>/// 应用程序的主入口点。/// </summary>    [STAThread]    static void Main()    {      Application.EnableVisualStyles();      Application.SetCompatibleTextRenderingDefault(false);      Login login = new Login();      login.ShowDialog();      if (login.DialogResult == DialogResult.OK)      {        login.Dispose();        Application.Run(new UI());      }      else if (login.DialogResult == DialogResult.Cancel)      {        login.Dispose();        return;       }}

Login.cs 中代码如下:

/// <summary>/// login/// </summary>/// <param name="sender"></param>/// <param name="e"></param>    private void btnLogin_Click(object sender, EventArgs e)    {      if (txtPassword.Text == "12345678")      {        this.DialogResult = DialogResult.OK;        this.Dispose();        this.Close();      }      else      {        MessageBox.Show("Password is incorrect ", "Prompt message",MessageBoxButtons.OK,MessageBoxIcon.Error);      }    }    /// <summary>    /// exit    /// </summary>    /// <param name="sender"></param>    /// <param name="e"></param>    private void btnExit_Click(object sender, EventArgs e)    {      this.DialogResult = DialogResult.Cancel;      this.Dispose();      this.Close();}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表