MDIParentForm に ToolStripMenuItem がいくつかあります。これを使用して、フォームをクリックして呼び出すフォームのステータスに応じて有効または無効にします。フォームが有効な場合、ToolStripMenuItem は無効になり、以前に開いたように新しいフォームを開くことができなくなります。理由はわかりませんが、ある子フォームから別の子フォームにフォーカスを変更すると、無効になっていた ToolStripMenuItem が再び有効になります (そうすべきではありません。コード)。これを使用して解決しました:
Dim formPrevio As Form = Application.OpenForms.OfType(Of AltaUsuario).Where(Function(frm) frm.Name = "AltaUsuario").SingleOrDefault
If formPrevio Is Nothing Then
'open it again
Else
'Get the focus again
End If
しかし、これを解決する他の方法があれば知りたいです。