C#Form實現安全重複打開關閉的方法

目錄

一、Form窗口端

二、調用端

三、寫在最後


在C#中,有時需要對某個窗口Form重複打開關閉,這時就會涉及一些問題:

  1. 若Form窗口已經顯示出來,則無需打開新的窗口
  2. 若Form窗口被銷燬,則需要重新生成一個窗口並顯示

下面分成Form窗口端和調用端進行介紹:

一、Form窗口端

1、雙擊箭頭處,實現FormClosed事件。

2、修改Form10.cs代碼爲如下所示:

其中,bool變量close用於判斷窗口是否已關閉,在每次初始化一個窗口時,初始化close爲false,在關閉窗口時,設置close的值爲true。

namespace WindowsFormsApplication1
{
    public partial class Form10 : Form
    {
        private bool close;

        public Form10()
        {
            InitializeComponent();
            close = false;
        }

        public bool getClose()
        {
            return close;
        }

        private void Form10_FormClosed(object sender, FormClosedEventArgs e)
        {
            close = true;
        }

    }
}

二、調用端

1、初始化一個Form

Form10 form10 = new Form10();

2、顯示窗口代碼

即,若已經初始化的form10被關閉,則重新初始化form10,並調用Show函數進行顯示;否則,直接調用Show函數進行顯示即可。

if (form10.getClosed())
{
    form10= new Form10();
    form10.Show();
}
else
{
    form10.Show();
}

3、關閉窗口代碼

若窗口未被關閉,則調用Close函數進行關閉即可。

 if (!form10.getClosed())
{
    form10.Close();
}

三、寫在最後

這種方法還是有些笨拙,如果有更簡單的方法,歡迎大佬們評論告知!感謝!

發佈了277 篇原創文章 · 獲贊 222 · 訪問量 48萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章