美文网首页
保持应用程序只开一个窗体

保持应用程序只开一个窗体

作者: 向着远方奔跑 | 来源:发表于2017-11-07 16:52 被阅读0次

可以使用互斥量(System.Threading.Mutex)

同步基元,它只向一个线程授予对共享资源的独占访问权。在程序启动时候,请求一个互斥体,如果能获取对指定互斥的访问权,就只运行一个实例。

在应用程序的main函数方法内,替换如下代码:

bool createNew;
using (System.Threading.Mutex mutex = new System.Threading.Mutex(true, Application.ProductName, out createNew))
            {
                if (createNew)
                {
                    if (form.ShowDialog() == DialogResult.OK)
                    {
                        form.Dispose();
                        SplashScreenHelper.Application.Run(new string[] { "" });
                    }
                }
                else
                {
                    MessageBox.Show("应用程序已经在运行中...");
                    System.Threading.Thread.Sleep(1000);
                    System.Environment.Exit(1);
                }
            }

相关文章

  • 保持应用程序只开一个窗体

    可以使用互斥量(System.Threading.Mutex) 同步基元,它只向一个线程授予对共享资源的独占访问权...

  • 01-Form窗体

    Windows应用程序也称为WinForm应用程序,通常包含一个或多个窗体,窗体中又包含了多种控件,如按钮、文本框...

  • CH02_3

    计算两个数的和(窗体应用程序)直接在窗体中显示

  • C# 常用控件及单击事件

    1、窗体 1、常用属性 (1)Name属性:用来获取或设置窗体的名称,在应用程序中可通过Name属性来引用窗体。 ...

  • C#窗体和控件

    一、窗体 1.常用属性(1)Name属性:用来获取或设置窗体的名称,在应用程序中可通过Name属性来引用窗体。(2...

  • 11.2c#总结

    2号 2号请假,看了视频 讲了一些简单的windows窗体应用程序的控件和属性的介绍。和之前C++的窗体应用程序类...

  • CH01_02

    您喜欢的职业是什么?(窗体应用程序)弹出显示

  • 11-6学习总结

    今天学习了c#第7章: 1:非模式窗体 非模式对话框 窗体打开时,将始终显示在当前应用程序窗体的最上层,此时,既可...

  • 设置Windows应用程序启动窗体

    一个完整的Windows应用程序中一般都有多个窗体,这时如果要调试程序,必须要设置首先运行的窗体,这时就需要设置项...

  • C#常用控件说明

    1、常用属性 Name属性:用来获取或设置窗体的名称,在应用程序中可通过Name属性来引用窗体。 WindowSt...

网友评论

      本文标题:保持应用程序只开一个窗体

      本文链接:https://www.haomeiwen.com/subject/zlujmxtx.html