none
Fechar um form MDI child através de outro form MDI child RRS feed

  • Discussão Geral

  • 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

    segunda-feira, 21 de maio de 2018 21:07

Todas as Respostas