RE: Duda con el MainMenu en .net
El problema lo tienes en que creas el formulario a mostrar como variable de la clase, y al cerrarlo se libera la memoria asignada a él, así que la siguiente vez que pides que se muestre el formulario ya no existe.
Lo que debes hacer es lo que te han indicado en las respuestas anteriores, es decir, declarar y crear el formulario en el evento del menú:
Private sub menuItem1_click ()
Dim f as new form1
f.show
End sub
Si es estrictamente necesario declarar la variable de formulario como perteneciente a la clase, puedes hacer:
Public Class Form2
Dim f as form1
...
Private sub menuItem1_click ()
f = new form1
f.show
End sub
Aunque deberás controlar que se cierre el formulario correctamente, ya que si no dejaría memoria asignada e imposible de volver a acceder.
