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が、何も起こりません。

4

2 に答える 2

1

のインスタンスを作成する方法は示していませんfrmNavigation。Show メソッドを使用していると仮定しているので、最上位ウィンドウで渡すShowのバージョンを使用してください。これにより、フォームの所有者が割り当てられ、メインフォームの上にとどまり、最小化して復元します。これが機能しない場合は、フォームの作成方法と表示方法を示してください。

frmNavigation.Show(Me)
于 2013-07-20T01:15:10.440 に答える