3
respostas

Como volto pro form anterior quando eu coloco em Hide()?

    Private Sub ACTIVECLOSEToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ACTIVECLOSEToolStripMenuItem.Click
        Dim Nform As New Aba_Principal_SecondShift
        Nform.Show()
        Hide()
    End Sub

    Private Sub CREATEWORKNUMBERToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles CREATEWORKNUMBERToolStripMenuItem.Click
        Dim Nform2 As New Aba_Principal_ThirdShift
        Nform2.Show()
        Hide()
    End Sub
End Class

Minha duvida é porque se eu colocolo o processo inverso me aparece o seguinte erro: "A reference could not be added. Adding this project as a reference would cause a circular dependency."

3 respostas

Oi Andres, tudo bem?

Você já experimentou usar Close() em vez de Hide()?

Já tentei, mas ele fecha a aplicação e não é isso que eu quero, apenas quero voltar na aba anterior. Dei 3 New Projects dentro do projeto madre e tentei referenciar todos os forms, no entato só 1 que consigo referenciar os outros projetos, já quando vou nos outros aparece o erro "A reference could not be added. Adding this project as a reference would cause a circular dependency."

Oi Andres, por favor altere seu código conforme abaixo:

    Private Sub ACTIVECLOSEToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ACTIVECLOSEToolStripMenuItem.Click
        Dim Nform As New Aba_Principal_SecondShift
        Nform.ShowDialog(Aba_Principal_ThirdShift)
        'Não feche nem esconda o form atual
        'Hide()
    End Sub

    Private Sub CREATEWORKNUMBERToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles CREATEWORKNUMBERToolStripMenuItem.Click
        Dim Nform2 As New Aba_Principal_ThirdShift
        Nform2.ShowDialog(Aba_Principal_ThirdShift)
        'Não feche nem esconda o form atual
        'Hide()
    End Sub

Veja que agora não estou fechando nem escondendo o formulário atual. Em vez disso, estou abrindo com o método ShowDialog() para que você não consiga acessar o formulário inicial sem fechar o segundo formulário, isto é, o sub-formulário vai ser tratado como "formulário modal".

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software