none
Abrir e Fechar formulário RRS feed

  • Pergunta

  • Situação: Tenho um formulário de Login e outro que será aberto ao logar.

    Pergunta: Como programar para fechar o formulário login e abrir o formulário 2?

    Me ajudem nessa questão.

    terça-feira, 18 de outubro de 2016 15:05

Respostas

  • Olá Augusto,

    Depende muito de como está fazendo isso. Se estiver chamando esse Form2 a partir do Form de Login, você não pode fechar o Form de login, apenas ocultá-lo, uma vez que ele é form que chamou esse Form2, logo, se finalizá-lo toda a aplicação será fechada.

    O que eu recomendo.

    Abrir o Form2 passando como parâmetro o form atual (login)

    Public Sub loginButton_Click(ByVal sender As Object, ByVal e As EventArgs)
            Dim f2 As Form2 = New Form2(Me)
            f2.Show
    End Sub

    O construtor do Form2 ficaria mais ou menos assim:

    Public Sub New(f1 As Form1)
        InitializeComponent()
        f1.Hide
    End Sub


    Espero ter ajudado.

    Valeu!


    Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!

    André Secco
    Microsoft MSP & MSDN Tech Advisor
    Blog: http://andresecco.com.br
    GitHub: http://github.com/andreluizsecco
    Twitter: @andre_secco




    terça-feira, 18 de outubro de 2016 17:01

Todas as Respostas

  • Você pode esconder o formulário de login e exibir o formulário 2, quando o este último fechar você fecha o de login também para que a aplicação finalize por completo.

    Me.Hide()
    Dim form2 = New Form2()
    AddHandler form2.Closed, Sub Me.Close() End Sub
    form2.Show()


    If you found this post helpful, please "Vote as Helpful". If it actually answered your question, remember to "Mark as Answer". Se achou este post útil, por favor clique em "Votar como útil". Se por um acaso respondeu sua dúvida, lembre de "Marcar como Resposta".


    terça-feira, 18 de outubro de 2016 16:56
  • Olá Augusto,

    Depende muito de como está fazendo isso. Se estiver chamando esse Form2 a partir do Form de Login, você não pode fechar o Form de login, apenas ocultá-lo, uma vez que ele é form que chamou esse Form2, logo, se finalizá-lo toda a aplicação será fechada.

    O que eu recomendo.

    Abrir o Form2 passando como parâmetro o form atual (login)

    Public Sub loginButton_Click(ByVal sender As Object, ByVal e As EventArgs)
            Dim f2 As Form2 = New Form2(Me)
            f2.Show
    End Sub

    O construtor do Form2 ficaria mais ou menos assim:

    Public Sub New(f1 As Form1)
        InitializeComponent()
        f1.Hide
    End Sub


    Espero ter ajudado.

    Valeu!


    Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!

    André Secco
    Microsoft MSP & MSDN Tech Advisor
    Blog: http://andresecco.com.br
    GitHub: http://github.com/andreluizsecco
    Twitter: @andre_secco




    terça-feira, 18 de outubro de 2016 17:01
  • Obrigado Juliano.
    terça-feira, 18 de outubro de 2016 17:36
  • Ajudou muito André. Resolvido. Obrigado.
    terça-feira, 18 de outubro de 2016 17:37
  • Augusto, marque a opção que desejar como resposta, afim de que outros usuários identifiquem facilmente a solução.

    Valeu!


    Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!

    André Secco
    Microsoft MSP & MSDN Tech Advisor
    Blog: http://andresecco.com.br
    GitHub: http://github.com/andreluizsecco
    Twitter: @andre_secco

    terça-feira, 18 de outubro de 2016 18:42
  • Boa Tarde Pessoal!!!

    Me desculpe se não por aqui que entro na discussão, mas estou praticamente com o mesmo problema!!!

    Tenho uma aplicação com formulario de login, tela inicial e varias outras, quando entro no sistema abre a tela de login ok, digita a senha e usuario, autentica ok, da um .Hide na tela de login ok, e abre a tela inicial do sistema ok, mas quando abre o formulario de clientes por exemplo efetuo um cadastro, salvo os dados com o codigo abaixo.

    Private Sub btnsalvar_Click(sender As System.Object, e As System.EventArgs) Handles btnsalvar.Click
            Me.Validate()
            Me.TbClientesBindingSource.AddNew()
            Me.TableAdapterManager.UpdateAll(Me.DataSetClientes)

            MsgBox("Cadastro efetuado com Sucesso!!!", MsgBoxStyle.Information)

            Me.txtdata.Focus()

        End Sub

    Só que ai quando fecha o formulario com me.close, e depois se eu quiser cadastrar outro cliente por exemplo, quando abre o formulario de cliente ele abre com os campos de mascara tudo desarrumado e com o codigo errado, como posso resolver isso.

    Desde já agradeço, obrigado.

    terça-feira, 18 de outubro de 2016 21:14
  • Pablo, 

    Sugiro abrir um novo tópico para discutir sobre seu problema, pois apesar de estar relacionado com esta thread, há características diferenciadas que a deixariam confusa.


    If you found this post helpful, please "Vote as Helpful". If it actually answered your question, remember to "Mark as Answer".

    Se achou este post útil, por favor clique em "Votar como útil". Se por acaso respondeu sua dúvida, lembre de "Marcar como Resposta".

    quarta-feira, 19 de outubro de 2016 09:57
  • Recomendo abrir outra thread, é um assunto relacionado, porém não igual.

    Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!

    André Secco
    Microsoft MSP & MSDN Tech Advisor
    Blog: http://andresecco.com.br
    GitHub: http://github.com/andreluizsecco
    Twitter: @andre_secco

    quarta-feira, 19 de outubro de 2016 10:01
  • Boa Tarde!!!

    ok pessoal valeu vou fazer isso,

    muito obrigado, por enquanto.

    quarta-feira, 19 de outubro de 2016 21:56