Windows フォーム アプリケーションで問題が発生しています。私は2つのフォームを持っています:
1 番目のメイン/親フォーム
2nd サブ/子フォーム (メニュー)
問題:
1 番目のフォームをクリックすると、2 番目のフォーム (1 番目のフォームの上に開く) を閉じたいと思います。
このようなものが動作するはずです:
Public Class Form1
Private childForm As Form2
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
childForm = New Form2()
childForm.Show()
End Sub
Private Sub Form1_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Activated
If childForm IsNot Nothing Then
childForm.Hide()
End If
End Sub
End Class
メイン フォームの「オン フォーカス」イベントに登録できます (このリンクは、VB でイベントに登録する方法を示す基本的なチュートリアルです: http://www.homeandlearn.co.uk/net/nets10p1.html )
そのイベントが発生したら、2 番目のフォームが開いているかどうかを確認し (開いているフォームへの参照を保存してそれを実行できるようにする)、それを閉じる必要があります。
いくつかのコードを追加すると、より具体的になることができます...
子フォームを表示するときは、子フォームを親フォームの変数に保存する必要があります。親フォームをクリックすると、変数を使用して子フォームを閉じたり破棄したりできます