欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2023-12-17 14:50:22
在winform 界面编程中,我们有时候要在主界面打开之前先显示登录界面,当登录界面用户信息校验正确后才打开主界面,而这时登陆界面也完成使命该功成身退了。 目前有两种方法...

在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();
}

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

上一篇:

下一篇: