簡體   English   中英

首頁> C#>如何關閉主窗體而不讓應用程序關閉?

[英]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);
}

MyContextApplicatonContext繼承的地方。

然后,您的應用程序上下文可以根據需要加載和關閉表單。 我使用一個項目執行此操作,在該項目中,上下文啟動了登錄表單。 只有成功完成后,才會加載主表單。 我還允許通過終止主表單並重新加載登錄表單來處理程序中的“注銷”。

編輯:從評論,可能是您正在尋找的只是.Hide()。 這不會導致您的表單被卸載,並且對.Show()的調用將恢復該表單(例如,您可以使用計時器或其他包含對主表單的引用的表單來進行調用)。 我更喜歡使用ApplicationContext,因為它負責使程序在內存中的位置遠離用戶可能試圖關閉的UI元素。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM