2011-05-07 66 views
4

我有一個登錄窗體,我需要關閉而沒有終止整個應用程序。我嘗試使用Me.Close(),Me.Hide()以及。登錄表單也被用作主表單。如何在沒有終止應用程序的情況下關閉vb.net 2010中的主窗體

+0

隱藏形式應該工作的 – stormbreaker 2011-05-07 11:04:14

+0

可能重複[如何關閉登錄窗體並顯示主窗體而不關閉應用程序?](http://stackoverflow.com/questions/4759334/how-can-i-close-a-login-form-and-show-主要形式沒有我的應用程序closin) – 2011-05-07 11:10:15

+2

調用窗體的「隱藏」方法將導致您的整個應用程序關閉是不可能的。但是,當然,這不是解決您的問題的正確方法。您不希望登錄表單在應用程序的整個生命週期內都在內存中。一旦用戶已經登錄,他們就完成了它,並不需要再次看到它。你想關閉它。我對上述鏈接問題的回答解釋瞭如何以* right *的方式執行此操作。 – 2011-05-07 11:11:40

回答

8

我希望這是有道理....

這聽起來像你有一個VB.Net項目和您的登錄表單是你的「啓動形式」。當你關閉表單時,你的應用程序認爲它已經結束;但您確實想在登錄表單關閉後採取行動。

如果您打開項目的屬性窗口,在應用程序選項卡上,您可以設置'關機模式'。默認值是'Startup Form Closes'。將其更改爲'最後一個表單關閉時'。

您也可以在此處添加應用程序級別事件。 http://msdn.microsoft.com/en-us/library/f2bys999(v=vs.80).aspx

如果你堅持自己的行事方式,您的登錄表格必須在關閉之前創建另一個表單,否則您的應用將關閉。你可以做到這一點;但將登錄邏輯移入應用程序啓動事件可能更清晰(請參閱鏈接瞭解更多詳細信息)。

在啓動事件可以顯示在登錄屏幕,得到的結果,決定是否要顯示您的應用程序,等,等的主要形式...

0

這取決於您試圖關閉或隱藏窗體的位置。如果您試圖關閉或隱藏表單本身內的表單然後Me.Close()和Me.Hide()完成這項工作。如果你正試圖從另一種形式像主窗體關閉或隱藏窗體,那麼你必須指形式的實例例如:

frmAbout.Close() 

frmAbout.Hide() 

我希望這有助於。

相關問題