Como controlar formulario con MDI

15/09/2005 - 10:47 por Tecnicos Aydai | Informe spam
Hola a todos!!!!
Os comento mi duda.
Tengo un formulario MDI, en el cual se cargan distintos tipos de formularios
hijos, pero solo puede haber una instancia de cada uno de estos hijos, y me
gustaria saber como puedo controlar que solo se cargue una instancia de cada
uno de los hijos.

Un saludo y gracias.
 

Leer las respuestas

#1 Don Quijote de Nicaragua
15/09/2005 - 15:52 | Informe spam
Yo hice algo también de esta forma:
Llamar al formulario desde el Menú

Private Sub mnuAutomotor_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles mnuAutomotor.Click
'Comprueba si el formulario ya está Cargado
If Not udfComprobarMDI("FrmAutomotor", Me) Then
'Abre el formulario solicitado
Dim Form As New FrmAutomotor
Form.Icon = Me.Icon
Form.MdiParent = Me
Form.Show()
Form = Nothing
End If
End Sub

' Función que verifica si el formulario MDI ya se encuentra cargado,
declarado en un Modulo
Friend Function udfComprobarMDI(ByVal strTitulo As String, ByVal frm As
FrmPrincipal) As Boolean
Dim x As Integer
For x = 0 To (frm.MdiChildren.Length) - 1
If frm.MdiChildren(x).Name = strTitulo Then
udfComprobarMDI = True
Exit Function
Else
udfComprobarMDI = False
Exit Function
End If
Next x
udfComprobarMDI = False
End Function

Espero te sirva,
Saludos.
Don Quijote de Nicaragua
Elder Soto.

"J. Carlos Herrrero" escribió en el mensaje
news:u2IXe$
Hola:
Prueba esto
En el MDI:
Private Sub mnuXXXX_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles mnuXXXX.Click
Me.mnuXXXX.Enabled = False
Dim lofrmXXXX As New frmXXXX
lofrmXXXX.MdiParent = Me
lofrmXXXX.Show()
End Sub
En el frmXXXX:
Private Sub frmXXXX_Closed(ByVal sender As Object, ByVal e As
System.EventArgs) Handles MyBase.Closed
'utilizando la funcion CType(), moldeamos la propiedad MdiParent
'del formulario al tipo correspondiente a la clase del formulario MDI
'con ello tenemos acceso a sus miembros y en particular a la opcion de
menu
CType(Me.MdiParent, frmMDI).mnuXXXX.Enabled = True
End Sub

Espero que te sirva
Un saludo desde Bilbo:
Carlos

"Tecnicos Aydai" escribió en el mensaje
news:u%
> Hola a todos!!!!
> Os comento mi duda.
> Tengo un formulario MDI, en el cual se cargan distintos tipos de
> formularios hijos, pero solo puede haber una instancia de cada uno de
> estos hijos, y me gustaria saber como puedo controlar que solo se cargue
> una instancia de cada uno de los hijos.
>
> Un saludo y gracias.
>


Preguntas similares