C# 创建单例窗体封装

在制作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(); //成为焦点窗体
        }

 

posted @ 2017-11-10 16:34  与星尘的握手  阅读(913)  评论(0)    收藏  举报