Problema con me.close

06/07/2005 - 16:55 por Jorge Landaeta | Informe spam
Yo tengo un Form1 abierto con ShowDialog el cuál al hacer clic en el botón1
éste debe abrir un Form2 con ShowDialog, en el código del Form1 coloco una
serie de procedimientos y luego ME.CLOSE y luego Dim openfrm2 as new Form2 y
por último openfrm2.showdialog.

El Form1 no se cierra sino que abre el Form2 sobre el Form1

¿Cómo hago para que el Form1 se cierre y luego se abra el Form2?

Gracias
Saludos

Preguntas similare

Leer las respuestas

#1 Jorge Serrano [MVP VB]
06/07/2005 - 18:47 | Informe spam
Espero haberte entendido bien.

Prueba a poner en el formulario 2 el siguiente código:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
Me.Hide()
Me.Close()
Dim MF2 As New Form2
MF2.ShowDialog()
End Sub

Jorge Serrano Pérez
Microsoft MVP VB.NET
PortalVB.com
http://www.portalvb.com/
Weblog de Jorge Serrano
http://weblogs.golemproject.com/jorge/


"Jorge Landaeta" wrote:

Yo tengo un Form1 abierto con ShowDialog el cuál al hacer clic en el botón1
éste debe abrir un Form2 con ShowDialog, en el código del Form1 coloco una
serie de procedimientos y luego ME.CLOSE y luego Dim openfrm2 as new Form2 y
por último openfrm2.showdialog.

El Form1 no se cierra sino que abre el Form2 sobre el Form1

¿Cómo hago para que el Form1 se cierre y luego se abra el Form2?

Gracias
Saludos

Respuesta Responder a este mensaje
#2 Jorge Landaeta
06/07/2005 - 21:16 | Informe spam
Jorge hice lo que me dijiste pero como el form está abierto como showdialog
se me minimiza todo lo que haya abierto menos la nueva ventana.

No comprendo porqué no hace el me.close normalmente, no existe alguna manera
de que ejecute el me.close si tener que terminar con todos los procedimientos
del botón?

Gracias
Saludos

"Jorge Serrano [MVP VB]" escribió:

Espero haberte entendido bien.

Prueba a poner en el formulario 2 el siguiente código:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
Me.Hide()
Me.Close()
Dim MF2 As New Form2
MF2.ShowDialog()
End Sub

Jorge Serrano Pérez
Microsoft MVP VB.NET
PortalVB.com
http://www.portalvb.com/
Weblog de Jorge Serrano
http://weblogs.golemproject.com/jorge/


"Jorge Landaeta" wrote:

> Yo tengo un Form1 abierto con ShowDialog el cuál al hacer clic en el botón1
> éste debe abrir un Form2 con ShowDialog, en el código del Form1 coloco una
> serie de procedimientos y luego ME.CLOSE y luego Dim openfrm2 as new Form2 y
> por último openfrm2.showdialog.
>
> El Form1 no se cierra sino que abre el Form2 sobre el Form1
>
> ¿Cómo hago para que el Form1 se cierre y luego se abra el Form2?
>
> Gracias
> Saludos
>
Respuesta Responder a este mensaje
#3 Tristan
06/07/2005 - 21:51 | Informe spam
Jorge. Por defecto en .net se define un formulario principal. Cuando se
cierra este, se cierra la aplicación.

Este formulario se define en un método Main, que normalmente queda oculto en
vb.net (no así en c#). Este método sería así:

Public Shared Sub Main()
Application.EnableVisualStyles()
Application.Run(new TuFormPrincipal())
End Sub

El método Run de Application, ejecuta un bucle de mensajes hasta que se
cierra la instancia de formulario pasada como parámetro. Para evitar que la
aplicación se cierre, basta con que lo modifiques llamando a Run sin
parámetros. En ese caso no habrá formulario principal.

En cualquier clase de tu proyecto añade este código:

Public Shared Sub Main()
Application.EnableVisualStyles()
Dim f as new TuFormPrincipal()
f.Show()
Application.Run()
End Sub

Para cerrar la aplicación deberás llamar a Application.Exit(), puesto que ya
no habrá ningún formulario que la cierre.


De todas formas, yo te diría que me parece que estás planteando al revés las
cosas. Si el formulario principal debe cerrarse nada más comenzar la
aplicación, es que no es realmente el principal. En lugar de lo que te he
dicho yo intentaría plantear las cosas al revés.

Juan Carlos Badiola
MVP - C#
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida