拒絕重複啟動視窗

不再啟動一大堆一樣設窗了。

離上次發表文章已經一段時間了,這次要分享的算是小技巧,在一次的例行會議中,被學弟們問到怎麼樣可以拒絕同一個視窗被啟動兩次,一開始想說用一個布林變數去儲存被開啟視窗的狀態,但是這樣的作法並不好,因為在兩個視窗之間傳值有點麻煩,翻翻MSDN後突然想到在C++.Net中有提供一個[IsWindowsVisible]的屬性可以利用,相對的在C#中一定也有,但是卻遍尋不著,不過MSDN中有說C#的視窗啟動狀態可以使用[Visible],所以今天就使用這個使性來分析視窗的啟動狀態吧。

 

1.建立兩個視窗分別為:Form1、Form2,在Form1先宣告Form2

	Form2 f2=new Form2 ();

PS:請不要寫在觸發Form2的事件中,不然會有ERROR。

 

2.在Form1觸發啟動Form2的事件中寫入以下程式碼

 

	if (f2.Visible == false)
{
    f2 = new Form2();
    f2.Show();
}

 

3.小小解說一下;

Visible = True --->> 視窗目前是啟動狀態

Visible = False --->> 視窗目前未被啟動

 

PeterDotNetCS10100601.zip