winform中只能运行一个实例

System.Threading.Mutex mutex = new System.Threading.Mutex(true, "MyOA");//线程互锁
            if (mutex.WaitOne(0, false))
            {
                Login login = new Login();
                login.ShowDialog();
                if (login.DialogResult == DialogResult.OK)
                {
                    Application.Run(new mian());
                    login.Dispose();
                }
                else if (login.DialogResult == DialogResult.No)
                {
                    Application.Exit();
                }
            }
            else
            {
                MessageBox.Show("程序已经在运行!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                Application.Exit();
            }

本段代码只能运行一个实例,而且当登陆状态OK的时候才会创建主窗体。。

原文地址:https://www.cnblogs.com/jolab/p/4794599.html