zoukankan      html  css  js  c++  java
  • 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();
            }
    复制代码

    出处:https://www.cnblogs.com/Waming-zhen/p/6560886.html

  • 相关阅读:
    java之认识基本数据类型及其封装类装箱和拆箱总结
    java之集合类特性对比分析列表
    <转>泛型的内部原理:类型擦除以及类型擦除带来的问题
    java之集合类框架的简要知识点:泛型的类型擦除
    java之方法覆盖的坑
    java入门概念个人理解之访问修饰符
    blog开篇
    卓越管理的实践技巧(4)如何才能给予有效的反馈 Guide to Giving Effective Feedback
    权限管理系统之组织管理
    卓越管理的实践技巧(3)推动团队管理的要点 Facilitation Essentials for Managers
  • 原文地址:https://www.cnblogs.com/mq0036/p/10503176.html
Copyright © 2011-2022 走看看