• 比较好的单例登录模式(参考网友)


     
      /// <summary>
      /// 构造函数
      /// </summary> 
      public frmMainForm()
      {
       InitializeComponent();
      }

      #region 比较优化的单例模式

      /// <summary>
      /// 比较优化的单例模式
      /// </summary>
      public static frmMainForm Instance
      {
       get { return Nested.instance; }
      }

      //初始化工作有Nested类的一个静态成员来完成,这样就实现了延迟初始化
      private class Nested
      {
       static Nested()
       {
       }

       internal static readonly frmMainForm instance = new frmMainForm();
      }

      #endregion

       try
       {
        if ((new Login()).ShowDialog() == DialogResult.OK)
        {
         bool createOne;
         
         //同步基元:确保一次只有一个线程使用该资源
         Mutex mut = new Mutex(true, "Thread_Name", out createOne);
         if (createOne)
         {
          //取得主窗口
          Application.Run(frmMainForm.Instance);

          //退出程序
          Application.Exit();

           //释放互斥体的所属权
          mut.ReleaseMutex();
         }
         else
         {
          MessageBox.Show("程序已经运行!", "系统提示");
         }
        }

    非有希望才坚持,坚持才会有希望
  • 相关阅读:
    成熟失去快乐
    明天出发
    不知其期
    不是自己的机子就是不好
    都收拾完了
    文盲
    郁闷
    好像感冒了
    又都疯了
    流水账,从我开始接触计算机时写起
  • 原文地址:https://www.cnblogs.com/eugenewu0808/p/Singleton.html
Copyright © 2020-2023  润新知