在制作Winform程序时,有时会点击按钮弹出一个form窗体,即点击按钮事件中会创建一个新的form窗体,为了无论点击按钮多少次都只显示同样的form窗体 ,以下为一个创建单例窗体的封装类:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace SetWhiteList { /// <summary> /// 窗体工厂:用于创建单例窗体对象 /// </summary> public class FormFactory { //定义静态变量,用于存储单例对象 private static MainFrm mainFrm; public static MainFrm CreatMainFrm() { //判断对象是否存在,或已经被释放 if (mainFrm == null || mainFrm.IsDisposed) { mainFrm = new MainFrm(); } return mainFrm; } } }
在点击事件中的使用方法如下:
private void btn_Click(object sender, EventArgs e) { MainFrm mainFrm = FormFactory.CreatMainFrm(); mainFrm.Show(); mainFrm.Focus(); //成为焦点窗体 }
时间: 2024-11-05 23:24:04