2016-02-19 82 views
-1

C#窗體可能不是對話框而是模態?有沒有對話框的替代品。因爲我認爲我無法通過對話框達到我想要的效果。我必須(?)使用對話框來確保形式。如何在不隱藏/關閉主窗口的情況下打開第三個對話框之前隱藏或關閉第二個對話框WinForm

首先編輯:

我主要WinForm的。從主要的Winform我想生產模式窗體這樣

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

從我要打開新的模式窗體frm3的FRM2,但我想開frm3之前關閉FRM2。 我想關閉打開

Form3 frm3 = new Form3();  
frm3.ShowDialog(); 

我想關閉FRM2這是密碼對話框;當用戶輸入正確的密碼時,我想關閉frm2並顯示frm3的高級設置表單。

第二編輯:

一種方法是打開第三之前隱藏第二幀。但是,當我嘗試

this.Hide()

在第二種形式,第一個也藏了起來。任何解決方案只隱藏第二個沒有第一個?或者其他不同的解決方案?

三編輯:

編輯標題。

+0

你是什麼意思的「模塊化」?爲什麼你不想要對話? – HimBromBeere

+0

誰說表格總是_dialog boxes_? – MickyD

+0

模塊化意味着您無法編輯或單擊當前以外的其他窗口。我想從當前表單創建表單並想要關閉當前表單。我不能用對話框來做到這一點。 – electro103

回答

0

我仍然不明白這個問題,但讓我們看看這是否是你想要完成的。你有一個主窗口,並且想顯示登錄對話框,如果登錄是正確的,則顯示一個設置對話框。這就是我會做:

的MainForm:

FormLogin login= new FormLogin(); 
if (login.ShowDialog() == true) 
{ 
    FormSettings frmSett= new FormSettings(); 
    frmSett.ShowDialog(); 
} 

FormLogin:

... 
if (LoginOK) 
{ 
    this.DialogResult = true; 
} 
else 
{ 
    this.DialogResult = false; 
} 
this.Close(); 
... 

類似的東西。希望有幫助

+0

我試圖在登錄窗口打開FormSettings()並失敗。所以也許唯一的辦法是控制一切從主要。 – electro103

相關問題