[英]close windows form works on a form but not on another one
我創建了一個Windows窗體應用程序。
VS2012給我創建了一個form1
表單
然后我創建了另一個名為Main
表格
在form1
表單上有一個按鈕可以轉到Main
表單
當我使用vs2012運行應用程序時,然后單擊窗體form1右上角的x
按鈕,該窗體關閉,我可以開始處理vs。但是問題是當我單擊窗體右上角的x按鈕時從Main表單開始,我無法開始在VS上工作,但是我需要在vs中單擊“ Stop Debugging
紅色按鈕,以便能夠輸入vs。
所以我的問題是,當我將此應用程序提供給我的客戶時,當單擊表單右上角的x按鈕時,我需要完全關閉該應用程序,而無需他們去任務管理器並關閉該應用程序。從它的應用程序。
您的應用程序以Form 1
開頭,當您關閉它時,您正在關閉該應用程序。 Main
只是一個表單,當您關閉它時,您就是在關閉表單。 您需要做的是,轉到Main
表單的FormClosing
事件並添加
Application.Exit();
進入FormClosing事件並輸入以下代碼:
System.Envirenement.Exit(0);
轉到Main
時,對form1
做什么? 如果只是為了顯示另一個而將其隱藏,然后關閉另一個,同時僅使form1
處於隱藏狀態,則即使Main
已關閉, form1
也自然會在運行。
聽起來合乎邏輯的事情是,當您關閉Main
時,從Main
返回form1
;否則,可以在適當的事件上使用Application.Exit(0)
來關閉兩者。
無論哪種情況,如果您提供了一些實際的代碼,都將更容易回答。
更新:
您還可以使用System.Environment.Exit(0)
,但這可能需要更多特權,這可能會或可能不會影響您的情況。 同樣,一些代碼會有所幫助。
問題是因為您的Form1
表單仍在運行(隱藏)。
如果僅將Form1
用於打開Main
窗體。 然后刪除Form1
,然后在項目的“屬性”中將Main
設置為StartUp表單:
Application -> StartUp form
此后,當您關閉Main
窗體應用程序時,將正確關閉
如果使用Form1
則在關閉Main
窗體后也需要關閉Form1
。
為此使用FormClosed
事件處理程序
右鍵單擊主窗體->屬性
在“ 事件”選項卡上,選擇“ FormClosing事件”
並編寫這段代碼
private void Main_FormClosing(object sender, FormClosingEventArgs e)
{
System.Environment.Exit(0);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.