当应用程序失去焦点时关闭表单

时间:2013-07-19 23:31:15

标签: vb.net

我的表单在我的应用程序中显示为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事件中使用相同的代码,但没有任何反应。

2 个答案:

答案 0 :(得分:1)

您没有显示如何创建frmNavigation的实例。我假设您正在使用Show Method,因此只需使用您在顶级窗口中传递的Show版本。这将分配表单的所有者,然后它将保留在主表单的顶部,并最小化和恢复它。如果这不起作用,请说明您如何创建和显示表单。

frmNavigation.Show(Me)

答案 1 :(得分:0)

我能够找到问题的答案。 MSDN有一篇关于这个问题的文章。

可在此处找到:http://support.microsoft.com/kb/186908#appliesto