方式一: 单进程的实现

View Code

 1    static class Program
 2     {
 3         /// <summary>
 4         /// 应用程序的主入口点。
 5         /// </summary>
 6         [STAThread]
 7         static void Main()
 8         {
 9             Application.EnableVisualStyles();
10             Application.SetCompatibleTextRenderingDefault(false);
11
12             //获取当前进程名称
13             string currentProcessName = Process.GetCurrentProcess().ProcessName;
14
15             //把该名称的所有进程的列表
16             Process[] process = Process.GetProcessesByName(currentProcessName);
17
18             if (process.Length > 1)
19             {
20                 MessageBox.Show("程序已经运行");
21                 return;
22             }
23             Application.Run(new ThMain());
24         }
25     }

方式二:窗体单例模式的实现

 public static Form1 thMian = null;/// <summary>/// 获取单个实例/// </summary>/// <returns></returns>public static Form1 GetInstance(){if (thMian == null || thMian.IsDisposed == true)  //newForm.IsDisposed == true必需,否则会出现“访问已释放资源”的异常{thMian = new Form1();}else{thMian.Activate();}return thMian;}调用:GetInstance();thMian.Show();

  

WinForm 窗体中实现单例模式相关推荐

  1. 怎样在Winform窗体中嵌入Web浏览器

    背景 项目当中需要在Winform窗体中嵌入网页,虽然微软自带了WebBrowser控件,但是她是以IE模式运行的,兼容性实在太差,找了一圈发现有个叫CefSharp的家伙还不错,于是就拿来玩了一下. ...

  2. 【二次开发】将CATIA嵌入到Winform窗体中

    由于项目需要,我们需要将CATIA嵌入到我们的软件之中,要求在软件启动后,同时调用并启动CATIA软件,并能够屏蔽掉软件自身的菜单和按钮.通过在网上查阅资料,实现了这一功能. 调用并启动CATIA p ...

  3. WinForm窗体中如何在一个窗体中取到另一个窗体的值

    例如我们定义两窗体,Form1和Form2,如何在Form2中取到Form1中的一个值呢? 解决方法1: 在Form1 中定义一个成员变量,例如public string a = " &qu ...

  4. C#的委托事件在winform窗体中实现传值备忘

    用一个例子来说明吧,这样比较好明白一些. 就是打开主窗体,datagridview加载了一些数据,然后我们在打开的子窗体中,输入一些条件,让主窗体中的数据随着加载的条件来动态实现加载数据. 这就需要涉 ...

  5. C#操作数据库,将其查查出来的记录条数显示在winform窗体中的方法之一

    1 //1.数据库链接的基本操作(略) 2 //2.创建对象函数(关键部分) 3 sqlConn.Open(); 4 //初始化定义记录条数 5 int n = 0; 6 object obj = s ...

  6. C# :Winform窗体中文字滚动显示

    想要做到文字滚动显示,首先需要把文字写入Lable控件中,将Label控件的位置改变就可以实现文字的位置变换. 1.在窗体中添加Timer和Lable控件 2.编写代码 //滚动 Lable priv ...

  7. C#Winform窗体中传值

    在窗体Form2中定义公有属性Form2Value,获取和设置textBox1的文本值 并且还定义一个accept事件public string Form2Value { get { return t ...

  8. C# 中对WinForm窗体中的控件快速设置TableIndex次序

    点击"视图"--"Tab键顺序",然后便可设置. 参考文章 1. ssilspro,在vs2008中做winform程序的时,调整控件TableIndex顺序的 ...

  9. C# :Winform窗体中Enter键登录

    前言: 在登陆窗体时,按Enter回车键可以直接用户登录,更加方便便捷. 解决方案: 在窗体属性中找到AcceptButton,后面添加上按回车键就点击的按钮名称. AcceptButton: 窗体的 ...

最新文章

  1. 北理计算机考研机试,北理工计算机2000-2010考研机试题目c语言实现.doc
  2. Algorithm Gossip (22) 中序式转后序式(前序式)
  3. 树状数组 + 位运算 LA 4013 A Sequence of Numbers
  4. 【牛客 - 185D】星光晚餐(数论,结论,思维,模型)
  5. 手机号码校验正则表达式
  6. efm32芯片电压_Silicon Labs超低功耗32位 MCU EFM32HG系列成功应用在大华股份无线烟感...
  7. 乐学python靠谱吗_【乐学100】-乐学100怎么样|地址|成立时间-比网校
  8. 2021-01-15
  9. 33. Pandas计算同比环比指标的3种方法
  10. excel冻结窗格线的设置问题
  11. 小胜智能机器人如何和手机联网_当下热门的人工智能电话机器人会革手机的命吗?...
  12. Mesos 1.1.1 发布说明
  13. Oracle问题imp-10019:由于ORACLE错误12899而拒绝行
  14. 从Q9XXX系统CPU看温度过高问题
  15. 济南申报高新技术企业不符合的条件
  16. 180701 icon文件查找与转换网站
  17. RTFNet——用于城市场景语义分割的RGB和热红外融合网络
  18. Web前端学习笔记——CSS京东案例、BFC
  19. 5.3Web服务器简介及HTTP协议
  20. 威纶通触摸屏宏指令GetData和SetData函数的使用方法示例

热门文章

  1. 各部件作用计算机,计算机硬件有哪些部件,各部件的作用是什么?
  2. 查询中接受的主体参数_【自动化/测开面试集锦系列】SQL查询
  3. oracle对某两列求和再求和_只会SUM函数求和,试试这5种求和函数,十倍提高工作效率...
  4. python导入requests库_windows环境中python导入requests
  5. krpano html5略缩图边框颜色,krpano加载场景缩略图列表
  6. 系统学习深度学习(四十三)--GAN简单了解
  7. 图像检索(一)--综述
  8. 2012.4.18总结
  9. java hough_java – 如何实现Hough变换?
  10. PAT (Basic Level) Practice1002 写出这个数