none
Esconder um formulario pai a partir de um filho e depois chama-lo de volta RRS feed

  • Pergunta

  • Caros,

    Estou com a seguinte questão para o meu sistema, ao chamar as opções básicas do menu ou toolstrip eu abro uma tela de pesquisa generica com os dados do cadastro selecionado, a partir desta tela ao clicar num botão incluir o sistema abrira uma nova janela e ai eu gostaria de esconder esta janela generica de pesquisa, só que ao fechar a janela filha de inclusão que chamei teria que chamar a janela de pesquisa de novo atualizando-a. Como fazer isto sendo que estou abrindo a janela filha com .show ao invés de .showdialog ? 

    Exemplo do Botão incluir da janela de pesquisa:

    Dim frm as new frmincluir

    frmsearch.hide (ou me.hide)

    frm.show()

    Desde já agradeço a atenção recebida.

    quarta-feira, 27 de junho de 2012 19:09

Respostas

  • Marco não sei se essa é a melhor maneira, mas fiz uns testes aqui e funcionou, veja:

    Private WithEvents frmfilho As New Form
     
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            'abre form filho a partir de um botão no form pai
            frmfilho.Show()
    End Sub
    
    Private Sub frmfilho_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles frmfilho.FormClosed
            'mostra form pai ao fechar formfilho
            Me.Show()
    End Sub
    
    Private Sub frmfilho_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles frmfilho.Load
            'esconde form pai ao abrir formfilho
            Me.Hide() 
    End Sub


    Att.,

    Jeimes Ribeiro

    "Caso a resposta seja útil, marque-a como certa."


    • Editado Jeimes Ribeiro quinta-feira, 28 de junho de 2012 13:42
    • Marcado como Resposta Marco Aurélio quinta-feira, 28 de junho de 2012 14:49
    quinta-feira, 28 de junho de 2012 13:42

Todas as Respostas

  • Olá Marco Aurélio

    Tente isto:

    Private Sub frmFilho_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Activated
            frmPai.Hide()
    End Sub
    
    Private Sub frmFilho_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
            frmPai.Show()
    End Sub

    Att.,

    Jeimes Ribeiro

    "Caso a resposta seja útil, marque-a como certa"

    quarta-feira, 27 de junho de 2012 19:16
  • Caro Jeimes,

    Testei mas dentro do formulário filho não tenho acesso ao método hide e show do formulário pai, como faço para acessar estes métodos dentro do formulário filho ? tenho que passar o formulário pai como parametro pra ele ?

    Mais uma vez agradeço a atenção recebida.

    quarta-feira, 27 de junho de 2012 19:28
  • Fiz um teste com este exemplo que lhe passei e funcionou.

    No exemplo que te passei eu não escondo o formulário a partir do botão incluir que você tem no form de pesquisa (pai), eu escondo o formulário de pesquisa ao ativar o formulário de inclusão e depois mostro novamente quando o formulário de inclusão fechar.

    Faça um teste utilizando o próprio nome do formulário, ou seja:

    Exemplo: frmpesquisa.hide()

    Se puder dar mais detalhes, talvez possa ser útil.

    Att.,

    Jeimes Ribeiro

    quarta-feira, 27 de junho de 2012 19:50
  • Caro Jeimes,

    A dificuldade que estou encontrando é que o frmsearch foi criado em tempo de execução, por isso não consigo acessar as suas propriedades do formulário filho.

    Dim FrmSearch as new FrmSearchGeneric

    ai de dentro for FrmIncluir que foi chamado a partir do FrmSearch eu não consigo acessar as propriedades dele, e um outro agravante é que este frmsearchgeneric esta em uma dll. Tem solução ?

    Mais uma vez agradeço a atenção recebida.

    quinta-feira, 28 de junho de 2012 12:19
  • Marco não sei se essa é a melhor maneira, mas fiz uns testes aqui e funcionou, veja:

    Private WithEvents frmfilho As New Form
     
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            'abre form filho a partir de um botão no form pai
            frmfilho.Show()
    End Sub
    
    Private Sub frmfilho_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles frmfilho.FormClosed
            'mostra form pai ao fechar formfilho
            Me.Show()
    End Sub
    
    Private Sub frmfilho_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles frmfilho.Load
            'esconde form pai ao abrir formfilho
            Me.Hide() 
    End Sub


    Att.,

    Jeimes Ribeiro

    "Caso a resposta seja útil, marque-a como certa."


    • Editado Jeimes Ribeiro quinta-feira, 28 de junho de 2012 13:42
    • Marcado como Resposta Marco Aurélio quinta-feira, 28 de junho de 2012 14:49
    quinta-feira, 28 de junho de 2012 13:42
  • Caro Jeimes,

    Obrigado, resolvido.

    quinta-feira, 28 de junho de 2012 14:50