窗体单例模式
在winform应用程序中,创建两个窗体form1和form2。
form1中有一个button,button的click事件时打开窗体2:
private void button1_Click(object sender, EventArgs e) { Form2 form = new Form2(); form.Show(); }
当程序运行时,单击窗体1的Button可以出现form2并且继续点击依然会出现form2,我们此时可以使用单例模式来使只有第一次点击button时出现form2,再点击无效。
我们在Form2.cs中写入这样一段代码:
private static Form2 _form; public static Form2 Create() { if (_form == null) { _form = new Form2(); } return _form; }
这段代码保证了当_form new过之后不会再重新new一个form2对象,从而达到了单例模式的效果,
同时我们改一下button的click事件中的代码:
private void button1_Click(object sender, EventArgs e) { Form2 form = Form2.Create(); form.Show(); }