Boa noite!
Acho que com exemplo fica mais fácil de dizer o que preciso. Então, vamos lá...
Tenho um form MDIContainer que vou chamar de "FrmPrincipal"
Um form MDIChild chamado "FrmForm1" e outro MDIChild chamado "FrmForm2".
Quando inicio o sistema, o evento load do FrmPrincipal procede a abertura dos dois forms Child da forma tradicional, ou seja:
Dim FrmForm1 As New FrmForm1
FrmForm1 .MdiParent = Me
FrmForm1 .Show()
Dim FrmForm2 As New FrmForm2
FrmForm2 .MdiParent = Me
FrmForm2 .Show()
No FrmForm2 tem um botão que, ao ser clicado, deveria fechar o FrmForm1.
Aí está o problema. Por ser MDI, o simples comando FrmForm1.Close não funciona.
A solução que encontrei foi usar o loop For/Next conforme abaixo:
For Each Frm In FrmPrincipal.MdiChildren
If Frm.Name = "FrmForm1" Then
Frm.Close()
End If
Next Frm
Será que existe uma forma direta de proceder com o fechamento do FrmForm1, no clique do botão, sem usar o loop, tipo FrmForm1.Close?
Qualquer ajuda é bem vinda.
Obrigado!
Pozzato