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

C#如何实现单例启动和关闭全部窗体

2015-10-23 07:31 501 查看

//主窗体

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

namespace SingleStart

{

    public partial class FrmMain : Form

    {

        public FrmMain()

        {

            InitializeComponent();

        }

        private void btnStartSingle_Click(object sender, EventArgs e)

        {

            FrmSingle frmSingleStart = FrmSingle.GetSingle();

            frmSingleStart.Show();

        }

        private void FrmMain_Load(object sender, EventArgs e)

        {

            CloseAllFrm._closeAllFrm=this;

        }

    }

    /// <summary>

    /// 建立一个类,用一个静态字段来储存启动窗体

    /// </summary>

    public
4000
static class CloseAllFrm

    {

        public static FrmMain _closeAllFrm;

     }

}

//单例启动窗体

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

namespace SingleStart

{

    public partial class FrmSingle : Form

    {

        /// <summary>

        /// 定义一个单例静态字段

        /// </summary>

        public static FrmSingle frmSingle = null;

        private FrmSingle()    //私有化单例启动窗体

        {

            InitializeComponent();

        }

        /// <summary>

        /// 定义一个单例

        /// </summary>

        /// <returns></returns>

        public static FrmSingle GetSingle()

        {

            if (frmSingle == null)

            {

                frmSingle = new FrmSingle();

            }

            return frmSingle;

        }

        private void btnClose_Click(object sender, EventArgs e)

        {

            CloseAllFrm._closeAllFrm.Close();//关闭全部窗体

        }

    }

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