¿Existe el formulario secundario en proyecto MDI?

13/07/2004 - 11:09 por Trust | Informe spam
Hola,
Quisiera saber una forma de saber por código si en un
proyecto MDI una instancia de formulario secundario está
ya creada (aunque no esté visible).
Desde el formulario principal hago una llamada a un
subprocedimiento, pero si el formulario secundario ni
siquiera ha sido creado lógicamente me da error. Tengo que
recurrir al método FormSecundario.show para que todo vaya
bien. Pero yo quisiera no tener que forzar la creación del
formulario secundario en el caso de que no exista.
Saludos.

Preguntas similare

Leer las respuestas

#1 Lázaro
13/07/2004 - 12:39 | Informe spam
Recorrete la colección de hijos del formulario principal, tienes que fijar
por medio de que propiedad detectas si ya existe. Hay gente que usa el Name,
otra gente el tag...

Algo así

Salu2

"Trust" wrote in message
news:2c52401c468b9$1fccf220$
Hola,
Quisiera saber una forma de saber por código si en un
proyecto MDI una instancia de formulario secundario está
ya creada (aunque no esté visible).
Desde el formulario principal hago una llamada a un
subprocedimiento, pero si el formulario secundario ni
siquiera ha sido creado lógicamente me da error. Tengo que
recurrir al método FormSecundario.show para que todo vaya
bien. Pero yo quisiera no tener que forzar la creación del
formulario secundario en el caso de que no exista.
Saludos.
Respuesta Responder a este mensaje
#2 Anonimo
13/07/2004 - 13:21 | Informe spam
Creo que tengo que crear un variable para hacerlo, pero ya
no recuerdo como se hacía.
Si tienes algo de código.
Gracias.

Recorrete la colección de hijos del formulario principal,


tienes que fijar
por medio de que propiedad detectas si ya existe. Hay


gente que usa el Name,
otra gente el tag...

Algo así

Salu2

"Trust" wrote in


message
news:2c52401c468b9$1fccf220$
Hola,
Quisiera saber una forma de saber por código si en un
proyecto MDI una instancia de formulario secundario está
ya creada (aunque no esté visible).
Desde el formulario principal hago una llamada a un
subprocedimiento, pero si el formulario secundario ni
siquiera ha sido creado lógicamente me da error. Tengo que
recurrir al método FormSecundario.show para que todo vaya
bien. Pero yo quisiera no tener que forzar la creación del
formulario secundario en el caso de que no exista.
Saludos.


.

Respuesta Responder a este mensaje
#3 Lázaro
13/07/2004 - 13:37 | Informe spam
Podrías hacer por ejemplo algo así, en este caso antes de hacer un new frm,
deberías pasar por esta función mandándole el tag del formulario que vas a
abrir, la función recorrerá la colección buscando alguna ventana hija con
ese tag, y si la encuentra devuelve verdadero.

Private Function ExisteFormulario(ByVal TAGFormulario As String) As
Boolean

Dim bReturn As Boolean = False

For Each frm In Me.MdiChildren
If CType(frm.Tag, String) = sTAGFormulario Then
bReturn = True
Exit For
End If
Next

Return bReturn

End Function

Salu2

wrote in message
news:2ba2b01c468cb$8ea3b640$
Creo que tengo que crear un variable para hacerlo, pero ya
no recuerdo como se hacía.
Si tienes algo de código.
Gracias.

Recorrete la colección de hijos del formulario principal,


tienes que fijar
por medio de que propiedad detectas si ya existe. Hay


gente que usa el Name,
otra gente el tag...

Algo así

Salu2

"Trust" wrote in


message
news:2c52401c468b9$1fccf220$
Hola,
Quisiera saber una forma de saber por código si en un
proyecto MDI una instancia de formulario secundario está
ya creada (aunque no esté visible).
Desde el formulario principal hago una llamada a un
subprocedimiento, pero si el formulario secundario ni
siquiera ha sido creado lógicamente me da error. Tengo que
recurrir al método FormSecundario.show para que todo vaya
bien. Pero yo quisiera no tener que forzar la creación del
formulario secundario en el caso de que no exista.
Saludos.


.

Respuesta Responder a este mensaje
#4 Albertito
13/07/2004 - 21:57 | Informe spam
Hola.
Yo hago lo siguiente y me funciona correctamente:
If Not IsNothing(miFormulario) AndAlso Not miFormulario.IsDisposed Then

...

End If

Espero te sirva.

Un saludo



"Trust" escribió en el mensaje
news:2c52401c468b9$1fccf220$
Hola,
Quisiera saber una forma de saber por código si en un
proyecto MDI una instancia de formulario secundario está
ya creada (aunque no esté visible).
Desde el formulario principal hago una llamada a un
subprocedimiento, pero si el formulario secundario ni
siquiera ha sido creado lógicamente me da error. Tengo que
recurrir al método FormSecundario.show para que todo vaya
bien. Pero yo quisiera no tener que forzar la creación del
formulario secundario en el caso de que no exista.
Saludos.
Respuesta Responder a este mensaje
#5 Tristan
13/07/2004 - 22:05 | Informe spam
Trust, no hace falta que un formulario esté cargado para llamar a sus
miembros. Desconozco el porqué de tu error, pero con seguridad no es por
eso.

Dim f As New MiForm
f.CambiaTexto("Nuevo Texto")
f.Show()

Class MiForm
Inherits Form
Public Sub New()
MyBase.New()
End Sub
Public Sub CambiaTexto(ByVal texto As String)
Me.Text = texto
End Sub
End Class

O te he comprendido mal?


Juan Carlos Badiola
MVP - C#
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida