zoukankan      html  css  js  c++  java
  • winform关闭登录窗体打开主窗体的方法

    实际使用

    Program.cs代码

    //声明一个线程
    private static System.Threading.Mutex mutex;
    /// <summary>
    /// 应用程序的主入口点。
    /// </summary>
    [STAThread]
    static void Main()
    {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        //开启线程
        mutex = new System.Threading.Mutex(true, "OnlyRun");
        if(mutex.WaitOne(0, false))
        {
            FormLogin fl = new FormLogin();
            fl.ShowDialog();
            if(fl.DialogResult == DialogResult.OK)
            {
                Application.Run(new FormMain());
            }
            else
            {
                return;
            }
        }
        else
        {
            MessageBox.Show("程序已经在运行!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
            Application.Exit();
        }
    }

    登录窗体(FormLogin)代码

    if(textBox1.Text == "123")
    { //验证用户名密码成功
        this.DialogResult = DialogResult.OK; //返回一个登录成功的对话框状态
        this.Close(); //关闭登录窗口
    }

    优劣

    优:1、可以防止重复运行该程序。

    改进:1、根据需要是否关闭Login窗体。

    其他方法一

    使用Close关闭登录窗体,使用Application.Run()方法打开主窗体

    Program.cs代码

    FormLogin fl = new FormLogin();
    fl.ShowDialog();
    if(fl.DialogResult == DialogResult.OK)
    {
        Application.Run(new FormMain());
    }
    else
    {
        return;
    }

    登录窗体(FormLogin)代码

    private void button1_Click(object sender, EventArgs e)
    {
        if(textBox1.Text == "aaa")
        { //验证用户名密码成功
            this.DialogResult = DialogResult.OK; //返回一个登录成功的对话框状态
            this.Close(); //关闭登录窗口
        }
    }

    优劣

    优:1、将登录窗体关闭,只打开主窗体。

    劣:1、如果需要切换用户,还需要重新运行窗体,无法使用FormLogin.Show();方法。

    其他方法二



    使用Hide()方法隐藏登录窗体,使用实例化的方法打开主窗体。

    优劣

  • 相关阅读:
    ShellExecuteEx 函数说明
    npm
    Byte和char
    如何高效阅读一个项目
    C++中慎用malloc
    #ifdef
    string
    C++与C混合编译
    git@github.com: Permission denied (publickey).
    connect to host github.com port 22: Connection refused
  • 原文地址:https://www.cnblogs.com/masonblog/p/12726884.html
Copyright © 2011-2022 走看看