Una pregunta frecuente sobre los “Multiple Document Interfaces’ es como saber los forms que estan cargados en un momento determinado. Aqui os dejo un breve y como siempre ‘Simple’ ejemplo, para tener acceso a la lista de documentos cargados en un MDI.
Por supuesto faltara recorrer la lista de items en el ‘menuItem’ para procesar las decisiones en funcion a los forms cargados, pero supongo que esa es la parte facil… supongo bien?…
Cualquier sugerencia o comentario sera bien recibido,
Saludos,
Pep Lluis,
‘
‘Al cargar el form
‘
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
‘El form1 se convierte en un MDIContainer
Me.IsMdiContainer = True
‘Crear un nuevo boton para añadir
Dim MiBoton As New Button
MiBoton.Text = “Añadir”
MiBoton.Dock = DockStyle.Bottom
‘Apuntar a la funcion de añadir al hacer click al boton
AddHandler MiBoton.Click, AddressOf NuevoFormHijo
‘Añadir un boton al final del MDI
Me.Controls.Add(MiBoton)
‘Crear un nuevo Menu
Dim MiMenu As MainMenu = New MainMenu
Me.Menu = MiMenu
‘Anadir item de forms cargados al menu
Dim misForms As MenuItem = MiMenu.MenuItems.Add(“&Forms Cargados”)
‘este item debera visualizar la MdiList
misForms.MdiList = True
End Sub
‘
‘Añadir un nuevo form al contenedor MDI
‘
Private Sub NuevoFormHijo(ByVal sender As Object, ByVal e As System.EventArgs)
Dim UnHijoMas As New Form
UnHijoMas.Text = “He Nacido a las : “ + System.DateTime.Now
UnHijoMas.MdiParent = Me
UnHijoMas.Show()
End Sub
End Class