C#基础(WinForm窗体的单例模式,避免窗体被实例化多次)
2016-01-30 15:58
459 查看
在MDI窗体中使用单例模式可以有效的避免同个窗体被实例化多次
[csharp] view plain copy
//==============字窗体的修改================ //一.将构造函数改成private
private FrmSub1()
{
InitializeComponent();
}
//二.声明一个字窗体的类型的静态变量
private static FrmSub1 instance;
//三.通过静态方法创建字窗体
public static FrmSub1 CreateFrom()
{
//判断是否存在该窗体,或时候该字窗体是否被释放过,如果不存在该窗体,则 new 一个字窗体
if (instance == null || instance.IsDisposed)
{
instance = new FrmSub1();
}
return instance;
}
//==============MDI中的调用===========================//通过子类的静态方法实例化窗体
FrmSub1 frm = FrmSub1.CreateFrom();
frm.MdiParent = this;
frm.Show();
[csharp] view plain copy
//==============字窗体的修改================ //一.将构造函数改成private
private FrmSub1()
{
InitializeComponent();
}
//二.声明一个字窗体的类型的静态变量
private static FrmSub1 instance;
//三.通过静态方法创建字窗体
public static FrmSub1 CreateFrom()
{
//判断是否存在该窗体,或时候该字窗体是否被释放过,如果不存在该窗体,则 new 一个字窗体
if (instance == null || instance.IsDisposed)
{
instance = new FrmSub1();
}
return instance;
}
//==============MDI中的调用===========================//通过子类的静态方法实例化窗体
FrmSub1 frm = FrmSub1.CreateFrom();
frm.MdiParent = this;
frm.Show();
相关文章推荐
- C#基础(WinForm窗体的单例模式,避免窗体被实例化多次)
- 解析C#面向对象编程中方法(method)的使用
- C# 多线程运用
- C# LinQ的认识
- 详解C#中的接口属性以及属性访问器的访问限制
- C#基础之类型转换
- c#多线程与异步开发 (下)
- 举例讲解C#中自动实现的属性
- c#之params参数
- c#之ref参数
- C#文件读/写
- c#之out参数
- cxf调用c#的webservice
- C#基础之转义符
- C# 霍夫曼二叉树压缩算法实现
- C#中out和ref之间的区别
- C#实现网页爬虫
- 三层登录—c#
- C#语言实现ArcGIS数据源重置之Set Data Source功能
- C#调用存储过程带输出参数或返回值