2013-01-08 67 views
3

好的......我已經在網上搜索了所有內容,但也許我輸入了錯誤的內容或者我不知道。任何情況下,我有兩個窗體窗體(我正在用C#編碼)。 Form1和Form2。在Form1中,我有一個按鈕。這個按鈕,當點擊時,打開Form2。我使用的是:僅打開特定表單的4個實例

Form2 frm2 = new Form2(); 
frm2.Show(); 

我想用frm2.Show,因爲我確實想打開這種形式的多個實例。

現在的事情是,我只想打開這個表單的4個實例。

如果我點擊Form1的按鈕,它應該打開它。可以說我點了3次,然後Form2應該打開3次。當我關閉其中2個時,我現在只剩下1個。然後再次單擊它3次,第四次它不應該打開Form2。

是否有某種方式知道有多少個窗體實例?因爲

if statement 

不會做這項工作。

+0

這是使用Winforms嗎? – SWeko

+0

是的。這是..... –

回答

7

您可以使用Application.OpenForm屬性檢查打開表單的計數。就像是。

int formCount = Application.OpenForms.Cast<Form>().Count(r => r.Name == "Form2"); 
if (formCount > 4) 
    Console.WriteLine("Already 4 instances of the forms are open"); 
+0

AHHH,沒有什麼比快速解決好。謝謝:)。當我的代表變得15+我會投票。再次感謝。 –

+0

把它作爲正確的答案然後@Bebbie7 – Boomer