[英]c# - How to close the main form without letting the application close?
我想做的事:
->打開一個MDI表格
->關閉項目主窗體
->不關閉應用程序
我做了什么:
frmMain fm = new frmMain();
fm.Show();
this.Close()
任何幫助,將不勝感激! :)
您可以使用Hide方法。
嘗試這樣做:
frmMain fm = new frmMain();
this.Hide();
fm.Show();
要么:
frmMain fm = new frmMain();
this.Hide();
fm.ShowDialog();
this.Show();
后者將打開窗口,一旦關閉,前一個窗口將重新出現。
為了解決這個問題,我要做的是:
this.Hide()
可能不是執行此操作的最佳方法,但仍然如此。
您甚至可以通過致電恢復
this.Show()
如果您實際上希望關閉主窗體,但是讓應用程序運行,則可以使您的默認類啟動應用程序上下文:
using(MyContext myContext = new MyContext())
{
Applicaton.Run(myContext);
}
MyContext
從ApplicatonContext
繼承的地方。
然后,您的應用程序上下文可以根據需要加載和關閉表單。 我使用一個項目執行此操作,在該項目中,上下文啟動了登錄表單。 只有成功完成后,才會加載主表單。 我還允許通過終止主表單並重新加載登錄表單來處理程序中的“注銷”。
編輯:從評論,可能是您正在尋找的只是.Hide()。 這不會導致您的表單被卸載,並且對.Show()的調用將恢復該表單(例如,您可以使用計時器或其他包含對主表單的引用的表單來進行調用)。 我更喜歡使用ApplicationContext,因為它負責使程序在內存中的位置遠離用戶可能試圖關閉的UI元素。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.