您的位置:首页 > 编程语言 > C#

C# 单例模式实现实例产生一个窗体对象

2016-05-08 16:22 661 查看
单例模式实现实例产生一个窗体对象
开发过程中遇到了这样一种情况,单击按钮产生一个窗体并显示出来,但是每次点击都会弹出一个新的窗体,这与想要的效果不免有些差异。我们需要若子窗体已经显示出来,那么我们就不再需要实例化新的子窗体,若是子窗体还未实例化或者关闭了这个子窗体,我们就需要实例化新的子窗体。结合这种需求,和所需到的知识,下面我将提供一种解决方案。
修改前代码:
父窗体代码: ChildForm child = new ChildForm();
child.Show();
修改后代码:
子窗体代码

public partial class ChildForm : Form

{

//声明静态对象

public static ChildForm child;

public ChildForm()

{

InitializeComponent();

}

public static ChildForm CreatSingleForm2()

{

//窗体是否已在内存中存在,不存在就实例化,然后返回此实例

if(child==null)

{

child = new ChildForm();

}

return child;

}

//在窗体关闭后清空窗体在内存中占用的空间

private void ChildForm_FormClosed(object sender, FormClosedEventArgs e)

{

child = null;

}

}

父窗体代码:

ChildForm child = ChildForm.CreatSingleForm2();

child.Show();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: