想实现这样一个功能:我写一个程序,总共就1个form,编译成exe的话,我想不论点击exe文件几次,都只是显示一个form,而不是显示多个一样的form。实现方法越简单越好,各位同学过来看看帮帮忙吧,谢谢了

解决方案 »

  1.   

    直接用禁止程序二次运行的方法,下面是一种,网上还有其他的办法
    using   System.Threading;     
        
      [STAThread]   
      static   void   Main()     
      {   
        
      //声明互斥体。   
      Mutex   mutex   =   new   Mutex(false,   "ThisShouldOnlyRunOnce");   
      //判断互斥体是否使用中。   
      bool   Running   =   !mutex.WaitOne(0,   false);   
      if   (!   Running)   
      Application.Run(new   Form1());   
      else   
      MessageBox.Show("应用程序已经启动!");   
        
      }
      

  2.   

    static class Program
        {
            /// <summary>
            /// 应用程序的主入口点。
            /// </summary>
            [STAThread]
            static void Main()
            {            bool bExist;
                try
                {                Mutex mMutex = new Mutex(true, "Form1", out bExist);
                    if (bExist)
                    {
                        mMutex.ReleaseMutex();
                    }
                    else
                    {
                        //已经运行
                        return;
                    }
                }
                catch (Exception ex)
                {            }
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);   
                Application.Run(new Form1());
                
            }
        }
      

  3.   

    faint CSDN的一个"/应用程序错误" 导致俺回复慢了这么多 变2楼了