Visual Basic.NET - Problema con me.dispose

 
Vista:

Problema con me.dispose

Publicado por Raul Hernandez (4 intervenciones) el 19/04/2007 22:21:20
Hola a todos, si alguien puede resolver el siguiente problema, gracias:

Tengo un Formulario (en visual basic .net 2003) llamado menu_principal, desde el cual abro otro llamado menu_p así:
============================================================================================================
'---------------------------------------------------------------------------------------------------------
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cuadro2.Click
on error goto tratar_error
'seguir es una variable global declarada en un módulo global del proyecto, que se ha colocado en true
seguir=true

Dim aux as new menu_p
aux.ShowDialog
'----------------------------------------
exit sub
tratar_error
MsgBox(Err.Description, MsgBoxStyle.Information, "Mensaje del Sistema")
end sub
'---------------------------------------------------------------------------------------------------------

en El formulario 2 en el evento activated hay una animación que muestra
dos imágenes a intervalos en un picturebox llamado "cuadro" así:
'---------------------------------------------------------------------------------------------------------
Private Sub cuadro2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cuadro2.Click
Dim tiempofinal as single

'seguir es una variable global declarada en un módulo global del proyecto, que se ha colocado en true

while seguir=true
'Cargar la primera imagen
me.cuadro.image=image.fromfile("c:\imagen1.bmp")

'-------------------------------------------
'----detener 0.5 segundos
tiempofinal=Microsoft.VisualBasic.Timer+0.5
While (Microsoft.VisualBasic.Timer < tiempofinal and seguir=true)
Application.DoEvents()
wend
'-------------------------------------------

'Cargar la segunda imágen imagen
me.cuadro.image=image.fromfile("c:\imagen2.bmp")

'-------------------------------------------
'----detener 0.5 segundos otra vez
tiempofinal=Microsoft.VisualBasic.Timer+0.5
While (Microsoft.VisualBasic.Timer < tiempofinal and seguir=true)
Application.DoEvents()
wend
'-------------------------------------------
wend

'-------------------------------------------------------
'-->esta es la instrucción que aparentemente genera error
me.dispose
'-------------------------------------------------------
end sub
'---------------------------------------------------------------------------------------------------------

Hay un botón para salir del formulario menu_p así:

'---------------------------------------------------------------------------------------------------------
Private Sub salir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Picture3.Click
seguir=false
end sub
'---------------------------------------------------------------------------------------------------------

al oprimirlo se genera en el procedimiento Button1_Click de menu_priniciapal el siguiente mensaje de error:

"No se puede obtener acceso al objeto denominado "menu_p".
Nombre del objeto: "menu_p".

Al oprimir nuevamente Button1, se abre al parecer el formulario menu_p y desaparece rápidamente y allí se traba el programa.

La idea de abrir el formulario descrito, es tener en cada momento un solo formulario
al que pueda acceder el usuario.

La pregunta es: como descargar totalmente el formulario menu_p y que no se produzca el error
anterior que daña el programa.

Nota: si abro el segundo formulario con el otro método (Form.Show)

ofrezco disculpas por haberme extendido tanto en la explicación, espero entiendan la pregunta
y la puedan resolver.
=================================================================================================
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder