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

 更新时间:2018年07月27日 08:50:30   作者:Waming  
这篇文章主要介绍了C# 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();
}

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

相关文章

  • C#零基础学习理解委托

    C#零基础学习理解委托

    C#零基础学习理解委托,需要的朋友可以参考一下
    2013-02-02
  • C#生成exe可执行文件的常用方法

    C#生成exe可执行文件的常用方法

    这篇文章主要介绍了C#生成exe可执行文件的两种常用方法,通过图文结合的方式讲解的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2024-07-07
  • 把DLL文件打包进EXE的操作技巧

    把DLL文件打包进EXE的操作技巧

    用VS2005建立一个windows项目,取名test,之后把生成DLL文件打包进EXE,接下来介绍详细的操作技巧,感兴趣的朋友可以了解下啊,或许对你有所帮助
    2013-02-02
  • C#使用ScrapySharp快速从网页采集数据

    C#使用ScrapySharp快速从网页采集数据

    这篇文章介绍了使用ScrapySharp快速从网页采集数据的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • C#实现将CSV转为XLSX文件

    C#实现将CSV转为XLSX文件

    Microsoft Excel的XLSX格式以及基于文本的CSV(逗号分隔值)格式,是数据交换中常见的文件格式,本文主要介绍了如何在C#中以编程的方式将CSV文件转化为XLSX 文件,需要的可以参考下
    2024-03-03
  • WPF中窗体最大化问题的解决方法

    WPF中窗体最大化问题的解决方法

    这篇文章主要给大家介绍了关于WPF中窗体最大化问题的解决方法,文中通过示例代码介绍的非常详细,对大家学习或者使用wpf具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-10-10
  • C#多线程之Parallel类的用法

    C#多线程之Parallel类的用法

    这篇文章介绍了C#多线程之Parallel类的用法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-04-04
  • c# List find()方法返回值的问题说明(返回结果为对象的指针)

    c# List find()方法返回值的问题说明(返回结果为对象的指针)

    本篇文章主要介绍了c#中List find()方法返回值的问题说明(返回结果为对象的指针) 需要的朋友可以过来参考下,希望对大家有所帮助
    2014-01-01
  • C#难点逐个击破(3):params数组参数

    C#难点逐个击破(3):params数组参数

    注意,这里的paras全称是array parameter,也就是数组参数。 paras类型参数主要用于在对数组长度未知(可变)的情况下进行函数声明。
    2010-02-02
  • C#实现的基于二进制读写文件操作示例

    C#实现的基于二进制读写文件操作示例

    这篇文章主要介绍了C#实现的基于二进制读写文件操作,结合具体实例形式分析了C#以二进制文件流形式针对文件进行读写操作的相关技巧,需要的朋友可以参考下
    2017-07-07

最新评论