我們在WinForm開發中,很多情況下是需要只允許讓用戶運行一個實例,那么代碼其實很簡單。只需要修改Program.cs文件,代碼如下
static class Program { /// <summary> /// 應用程序的主入口點。 /// </summary> [STAThread] static void Main() { //Application.EnableVisualStyles(); //Application.SetCompatibleTextRenderingDefault(false); //Application.Run(new Fm_Login()); bool noRun; //判斷是否已經有需要運行一個實例,如果系統沒有,則運行一個 using (System.Threading.Mutex m = new System.Threading.Mutex(true, Application.ProductName, out noRun)) { if (noRun) { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Form Login = new Fm_Login(); Login.ShowDialog();//顯示登陸窗體 if (Login.DialogResult == DialogResult.OK) { Application.Run(new Fm_main()); }//判斷登陸成功時主進程顯示主窗口 else return; } else { MessageBox.Show("目前已有一個程序在運行,請勿重復運行程序","提示"); } } } }