Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

johnhey

Fechar form

Recommended Posts

Bom dia pessoa do imaters, agora tenho outro problema também.

Tenho dois formulários filhos abertos, um é o form para fazer edição/inclusão/eliminar/etc... e outro para fazer pesquisa através de um datagrid, form esse que só é aberto quando clico no botão "Procurar", no primeiro form tenho um botão de fechar tela, quando peço para fechar gostaria que fechasse o formulário de consulta também, que fere-se ao mesmo formulário de inclusão.....

 

Já coloquei:

 

'Fecha o primeiro formulário e Funciona correcto

form1.hide()

 

para fechar o outro form de consulta já coloquei todas as opções abaixo e não funciona.

pesquisa.hide()

pesquisa.close()

pesquisa.dispose()

 

é como se o primeiro formulário não fizesse comunicação com o outro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na verdade você não fechou, você só os escondeu.

 

No evento FormClosing do primeiro formulário utilize a sintaxe "<nomedoform>.Close()", assim como no evento click do botão fechar você usa a sintaxe "form1.Close()" veja se alterando os eventos ele funciona, caso não funcione poste novamente aqui.

 

E por favor utilize a tag

 para expressar códigos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

1º Form

Private Sub Registos_FormClosing(sender As Object, e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
       'Fecha a janela de pesquisa
       Pesquisa.Close()
   End Sub

 

Botão Sair

 Private Sub cmdsair_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdsair.Click
       Me.Close() 'Fecha a janela
   End Sub

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim.

e abro da seguinte form.

Private Sub PaisToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PaisToolStripMenuItem.Click
       Try
           'Verifica se o form já esta aberto e traz para frente
           For Each child In Me.MdiChildren
               If TypeOf child Is Registos Then
                   If child.Text = "Registo de Paises" Then
                       child.WindowState = FormWindowState.Normal
                       child.Focus()
                       tabela = "TBPais"
                       Exit Sub
                   End If
               End If
           Next
           'caso não esteja aberto ele abre
           Dim frm As New Registos
           frm.MdiParent = Me
           variaveldcf = "Registo de Paises" ' atribui um valor a variavel
           frm.Show()
           tabela = "TBPais"
           'Se der erro exibe o erro
       Catch EX As Exception
           MsgBox("erro - " + EX.Message)
       End Try
   End Sub

Compartilhar este post


Link para o post
Compartilhar em outros sites

Use o mesmo processo quando fechar a tela, quando você executar o formclosing use o foreach do mdi pai para fechar todos os filhos que você queira.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já coloquei das seguintes formas e sem sucesso.

 

Private Sub Registos_FormClosed(sender As Object, e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
       Pesquisa.Close()
   End Sub

   Private Sub Registos_FormClosing(sender As Object, e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
       Pesquisa.Hide()
   End Sub

 

também já coloquei breakpoint e passa sobre o evento, só que não acontece nada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.