Hola. Quiero mostrar un formulario desde otro. Tengo el Form1 que es el
principal y el Form2 que es el que quiero mostrar cuando de un botón del
Form1.
En el Form1 tengo este código:
Option Strict On
Public Class Form1
Inherits System.Windows.Forms.Form
Dim frm As Form2 = New Form2()
Codigo generado por el Diseñador de Windows Forms
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
frm.Show()
End Sub
Y en el Form2 tengo un botón donde he puesto solamente close()
Lo que no quiero es que me saque una ventana cada vez que de al botón del
Form1, solo quiero una sola ventana del Form2.
Ejecuto el programa y doy al botón del Form1. Me muestra el Form2. Cierro el
Form2. Vuelvo a dar al botón del Form1 y me da el siguiente error:
Excepción no controlada del tipo 'System.ObjectDisposedException' en
system.windows.forms.dll
Información adicional: No se puede obtener acceso al objeto denominado
"Form2".
He probado a poner en el Form2 en el evento closing esto:
Me.Hide()
e.Cancel = True
Pero no me parece la solución ocultar el Form2, ya que cuando quiera hacer
un programa de verdad, cosa que me esta pasando. El evento Load del Form2
solo se ejecuta la primera vez, no cada vez que se muestra el formulario.
Lo que necesito es descargar el Form2 y cargarlo cada vez que lo necesite.
Algo tan sencillo como en Visual Basic 6
Form2.show
y el el Form2; Unload Me
Gracias.
Leer las respuestas