Comprobar si un formulario ya esta abierto

10/12/2004 - 14:52 por Jordi Julià | Informe spam
Hola a todos,

Estoy diseñando una aplicación en WindowsForms y VB.NET. He diseñado un menú
y quisiera comprobar si un formulario ya está abierto antes de volver a
abirlo ¿como se podría comprobar?

Saludos
Jordi

Preguntas similare

Leer las respuestas

#1 Cristian Quiroga
10/12/2004 - 18:41 | Informe spam
Para mostrar tu formulario dimensionaste un objeto del tipo del formulario y
creaste en el una instancia del objeto form.

Cuando cerras ese formulario la variable deberia quedar en nothing, con lo
cual antes de mostrar el form deberias preguntar si tu objeto esta o no en
nothing.

Espero que te sirva...

Saludos,

Cristian Quiroga

"Jordi Julià" wrote in message
news:
Hola a todos,

Estoy diseñando una aplicación en WindowsForms y VB.NET. He diseñado un


menú
y quisiera comprobar si un formulario ya está abierto antes de volver a
abirlo ¿como se podría comprobar?

Saludos
Jordi


Respuesta Responder a este mensaje
#2 Jordi Julià
10/12/2004 - 21:57 | Informe spam
Hola Cristian

La técnica que utilizo para abrir los formularios me impide realizar lo que
apuntabas, mira te adjunto la función que utilizo:

Private Sub mnu_Menu01_01_Click(ByVal sender As Object, ByVal e As
System.EventArgs) Handles mnu_Menu01_01.Click

Dim Form As New Formulario_Numero_1

Form.MdiParent = Me

Form.Inicio() 'Esta función ejecuta el método show

Form = Nothing

End Sub


No tengo claro que esta técnica mia sea muy correcta en VB.NET, pero
funciona, es una técnica que me aconsejaron que utilizase cuando trabajaba
com VB.

Por otro lado, la instancia al formulario la habría de definir a nivel
global y debo trabajar con bastantes formularios y me preocupa el tema de
saturar la memoria.

La pregunta la hacía por si en WindowsForms existía algún "ente" por encima
de los Forms donde pudiera explorar los objetos forms abiertos/activos.


Muchas gracias
Saludos
Jordi


"Cristian Quiroga" escribió en el mensaje
news:Osoe$
Para mostrar tu formulario dimensionaste un objeto del tipo del formulario


y
creaste en el una instancia del objeto form.

Cuando cerras ese formulario la variable deberia quedar en nothing, con lo
cual antes de mostrar el form deberias preguntar si tu objeto esta o no en
nothing.

Espero que te sirva...

Saludos,

Cristian Quiroga

"Jordi Julià" wrote in message
news:
> Hola a todos,
>
> Estoy diseñando una aplicación en WindowsForms y VB.NET. He diseñado un
menú
> y quisiera comprobar si un formulario ya está abierto antes de volver a
> abirlo ¿como se podría comprobar?
>
> Saludos
> Jordi
>
>


Respuesta Responder a este mensaje
#3 Jordi Julià
17/12/2004 - 11:58 | Informe spam
Hola grupo,

He encontrado la solución al problema, esta es la función que utilizo:

Private Sub mnu_Menu01_01_Click(ByVal sender As Object, ByVal e As
System.EventArgs) Handles mnu_Menu01_01.Click

Dim NombreForm As String = "Seleccion_Parametros_Interfase"

'Comprueba si el formulario ya está presentado
Dim x As Integer
For x = 0 To (Me.MdiChildren.Length) - 1
If Me.MdiChildren(x).Name = NombreForm Then
Presentar_Aviso_FormularioPresentado()
Exit Sub
End If
Next x


'Abre el formulario solicitado
Dim Form As New Seleccion_parametros
Form.MdiParent = Me
Form.Name = NombreForm
Form.Inicio()
Form = Nothing

End Sub


Saludos
Jordi


"Jordi Julià" escribió en el mensaje
news:
Hola a todos,

Estoy diseñando una aplicación en WindowsForms y VB.NET. He diseñado un


menú
y quisiera comprobar si un formulario ya está abierto antes de volver a
abirlo ¿como se podría comprobar?

Saludos
Jordi


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida