2012-10-01 98 views
0

我想在c#中重新打開一個關閉的窗體窗體。如何在c#.NET中打開一個關閉的窗體?

我實際上主動關閉窗體以允許autoIT腳本在不同的Windows應用程序上運行。不過,我想在腳本完成後重新打開相同的表單。

所以......

this.Close(); 
. 
. 
. 
Application.Run(new FormTestPage()); 

但是這給了我,說使用Form.ShowDialogue而不是錯誤。 我不確定這是如何工作的。 在此先感謝!

+1

你需要重新啓動的exe? –

+0

你想關閉它還是隱藏它? –

+0

我想關閉它,因爲隱藏它不會讓程序轉移到腳本的另一個窗體應用程序。我不認爲我需要重新啓動exe文件?它只是形式而已。 – user1639184

回答

2

如果關閉主窗體和你

var frm = new MainForm(); 
Application.Run(frm); 

然後關閉的主要形式也將關閉應用程序啓動的應用程序。像這樣開頭的應用程序,而不是

var frm = new MainForm(); 
frm.Show(); 
Application.Run(); 

現在,當應用程序關閉,則必須調用Exit(因爲它未關閉自動再):

Application.Exit(); 

您可以在主窗體做到這一點在FormClosed事件中,您不僅僅是暫時關閉表單。

現在你可以用normaly重新打開窗體:

var frm = new MainForm(); 
frm.Show(); 
1
var item = new FormTestPage(); 
item.ShowDialog(); 
+0

謝謝。我嘗試過這樣做,但是我確實看到了彈出窗體的簡要圖像,但我實際上看不到它。 :S是否有設置或我需要更改的任何內容? – user1639184

+0

可能是您的窗體調用方法'關閉'在ctor或'FormLoad' /'FormShown'事件處理程序 –

相關問題