zoukankan      html  css  js  c++  java
  • WinForm——程序单例运行

    在某些特定的场合下,可能需要程序只运行一个实例,又称单例运行。

    usingSystem.Windows.Forms;

    usingMicrosoft.VisualBasic.ApplicationServices;

    public class Program : WindowsFormsApplicationBase

        {

            frmMain main = null;

            /// <summary>

            /// 应用程序的主入口点。

            /// </summary>

            [STAThread]

            static void Main(string[] args)

            {

                Application.EnableVisualStyles();

                Application.SetCompatibleTextRenderingDefault(false);

                //Application.Run(new frmMain());

                Program program = new Program();

                program.Run(args);

            }

            public Program()

            {

                this.IsSingleInstance = true;// 设置为单实例模式

            }

            /// <summary>

            /// 在应用程序启动时运行

            /// </summary>

            /// <param name="eventArgs">包含应用程序的命令行参数,并指示是否应取消应用程序启动。</param>

            /// <returns>指示应用程序是否应继续启动。</returns>

            protected override bool OnStartup(StartupEventArgs eventArgs)

            {

                main = new frmMain();

                Application.Run(main);

                return false;

            }

            /// <summary>

            /// 在单实例应用程序的后续实例启动时运行。

            /// </summary>

            /// <param name="eventArgs">包含后续应用程序实例的命令行参数,并且指示第一个应用程序实例是否应在退出异常处理程序后进入前台。</param>

            protected override void OnStartupNextInstance(StartupNextInstanceEventArgs eventArgs)

            {

                base.OnStartupNextInstance(eventArgs);

                main.Show();    //弹出第一个实例

            }

        }

  • 相关阅读:
    K8s中Secrets
    记一次kubernetes配置secret拉取私仓镜像错误
    K8S中ConfigMap
    阿里云RDSforMySQL如何定位本地IP
    Python3运算符
    nyoj 67-三角形面积 (海伦公式, 叉积)
    nyoj 66-分数拆分 (Java,暴力)
    nyoj 65-另一种阶乘问题 (Java 高精度)
    nyoj 64-鸡兔同笼 (解二元一次方程)
    nyoj 63-小猴子下落 (模拟)
  • 原文地址:https://www.cnblogs.com/liusuqi/p/2873203.html
Copyright © 2011-2022 走看看