2013-07-19 231 views
0

我的窗體在我的應用程序中顯示爲TopMost。我遇到的問題是,每當我最小化我的應用程序或失去焦點時,表單仍然顯示。我希望能夠最小化我的應用程序或移動到另一個,並隱藏或關閉我的表單。一旦應用程序重新獲得焦點,然後再次取消隱藏或打開表單。當應用程序失去焦點時關閉窗體

這是我制定的窗體的關閉事件:

Private Sub frmNavigation_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing 
    Static Minimize As Boolean 

    If Minimize = True Then 
     e.Cancel = True 
     Me.Hide() 
    End If 
End Sub 

我試圖在應用WindowDeactivate事件中使用相同的代碼,但沒有任何反應。

+0

在代碼中儘量減少將有默認爲false值,它永遠不會被設置爲True,所以什麼也沒發生。也許你有更多的代碼,你沒有顯示這個?但是,我對你的描述感到困惑,並認爲你可以說得更清楚。 –

+0

TopMost事情的主要思想就是,不論焦點是什麼,始終保持在一切之上。這是你真正想要的,或者你可以嘗試沒有TopMost? – Alejandro

+0

對不起,我感到困惑。我試圖完成的是如果我的應用程序失去了重點,那麼也儘量減少我的形式。我上面的代碼並不真正起作用,所以我必須忽略它。 –

回答

1

您不會顯示如何創建frmNavigation的實例。我假設你正在使用顯示方法,所以只需使用在頂層窗口中傳遞的Show版本。這將分配表單的所有者,然後它將停留在主窗體的頂部,並最小化並恢復。如果這不起作用,請說明您如何創建並顯示錶單。

frmNavigation.Show(Me) 
相關問題