winform中的单例模式
来源:互联网 发布:友价源码怎么样 编辑:程序博客网 时间:2024/06/05 10:43
一般的,在winform应用程序中,如果在Form1中添加另一个窗体Form2,并添加button及其事件,若仅仅在button事件里添加如下代码:
Form2 frm2=new Form2();
frm2.Show();
则每点击一次button,则新创建一个窗体并打开,点击多次,则打开多个窗体,如下图所示,但这往往不是我们所期盼的。
我们可以通过如下修改代码来做到实现单例模式的效果:
首先修改Form2.cs:
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace 单例模式{ public partial class Form2 : Form { private Form2() //改动1:将public改为private { InitializeComponent(); } //改动3,添加静态字段 public static Form2 frm = null; //改动2,添加静态方法 public static Form2 GetSingleMode() { //改动4,添加条件判断 if(frm==null)//如果没有创建,就创建 { Form2 form2 = new Form2(); frm = form2; } // else {} return frm; } }}
其次修改Form1.cs:
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace 单例模式{ public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { Form2 frm2 = Form2.GetSingleMode(); frm2.Show(); } }}这样就实现了我们期盼的单例模式。
效果如下:
完
0 0
- winform中的单例模式
- winform 单例模式 单线程例子
- 在WinForm中理解单例模式
- 关于WinForm的单例模式
- Winform单例模式之牛刀小试
- C# Winform单例模式、程序集
- 单例模式简介及在WinForm编程中的实现方法
- php中的单例模式(单态)
- WinForm中的单键模式
- Winform-单例模式-同一个窗口值打开一次
- 使用单例(单态)模式实现winform窗体的单例显示
- c++中的单例模式
- c#中的单例模式
- C++中的单例模式
- spring中的单例模式
- C++中的单例模式
- C++中的单例模式
- C++中的单例模式
- 8086的储存器编址
- Bridge模式
- StarUML使用说明-指导手册
- do...while(0)的妙用
- Sundy嵌入式底层开发课程笔记 --Vi的设计思想及使用
- winform中的单例模式
- FastDFS之客户端与Tracker通讯
- shell简介:shell是一个命令解释器
- 使用avs脚本自适应去掉视频重复帧
- 瀑布流布局
- Hibernate session 操作 插入 删除 更新 get和load
- 卡特兰数
- 为什么全局描述符表GDT的第0项总是一个空描述符
- 杭电2082——找单词