2009-12-17 61 views
3

在我的項目,我有兩種形式,當我點擊節目形式在Form1 2按鈕,窗口2會彈出,我想通過點擊窗口2關閉按鈕以終止我的整個應用程序,申請終止幫助

誰能請告訴我我該怎麼做?

回答

4

如果你的意思是當一個TButton稱爲關閉被點擊,然後在Button.OnClick事件調用Application.Terminate;

如果你的意思是點擊窗體的X按鈕時,然後在窗體2的OnClose事件,呼籲Application.Terminate;

+0

感謝隊友,工作正常。 – noob

16

如果你希望你OnCloseQueryOnClose的主要應用形式的處理程序被調用(例如,爲了能夠取消或詢問是否保存修改的文件或這樣的),不要使用Application.Terminate

您可以撥打

Application.MainForm.Close; 

代替免遭一切形式的(甚至是主要形式本身)。

-4

的交最簡單的模式是用戶 了TerminateProcess(GetCurrentProcessID,0); 不問,沒有凍結,沒有s * iet。

+3

正如API幫助所說,「TerminateProcess函數用於無條件地導致進程退出,僅在極端情況下才使用它。」 Application.Terminate調用PostQuitMessage函數,它允許線程和其他進程正常退出。 –

0

另一種選擇是發送WM_CLOSE消息發送到應用/ application.mainform

PostMessage(Application.Handle,wm_Close,0,0); 

PostMessage(Application.MainForm.Handle,wm_Close,0,0); 

這會將在消息隊列中的關閉請求,該消息中已經存在的消息隊列將繼續先處理。