17/11/2015

Fechar Tela de Login ao Autentificar usuário

Olá !

Sei que a dúvida deva ser relativamente simples de ser solucionada, porém, não estou conseguindo sanar o problema.

Tenha 1 form (frm_login) , onde após digitar Usuário / Senha (dados que estão num banco de dados) , ele abre a Tela principal do Sistema.

O problema é que, ao fazer a autentificação, ele abre a tela principal do Sistema, mas não fecha a do Login.

Como fazer para ela fechar , após a autentificação ?

Segue o código que fiz na hora de autenticar o usuário

if (string.IsNullOrEmpty(txtbxuser.Text))
            {
                MessageBox.Show("Informe suas credenciais para logar", "ATENÇÃO", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                txtbxuser.Focus();
                return;
            }
            try
            {
                AppDataTableAdapters.usuariosTableAdapter usuario = new AppDataTableAdapters.usuariosTableAdapter();
                AppData.usuariosDataTable dt = usuario.Login(txtbxuser.Text, txtbxpass.Text);
                if (dt.Rows.Count > 0)
                {

                    frm_Principal Sistema = new frm_Principal();
                    Sistema.Show();
                }
                else
                {
                    MessageBox.Show("Dados Incorretos verifique Usuário e/ou Senha.");
                    txtbxuser.Clear();
                    txtbxpass.Clear();
                    txtbxuser.Focus();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "ATENÇÃO", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            


OBS: Essa verificação encontra-se no botão do formulário de Login

Moutinho

Respostas

17/11/2015

Alekym

Onde tem
frm_Principal Sistema = new frm_Principal();
                    Sistema.Show();


Coloque assim:
frm_Principal Sistema = new frm_Principal();
                    Sistema.Show();
                     txtbxuser.Hide();


Ou assim:
frm_Principal Sistema = new frm_Principal();
                    Sistema.Show();
                     txtbxuser.Close();


Vê se funciona desse jeito.
Responder Citar

18/11/2015

Moutinho

Olá Caro Alekym !

Então, já consegui resolver com a seguinte linha de código :

this.Visible = false; 


Dessa forma, ao logar, ele sumiu com a tela de Login........essas formas que você passou , se eu não me engano eu usei quando estava mexendo e não resultaram em nada, o form de login ficava em segundo plano após autentificação.

Mas ai me surgiu outra questão, por exemplo;

Ao iniciar a aplicação , a tela de Login entra, após autentificar ela se fecha e abre o Form Principal .

Você saberia me dizer, como eu faria para ;

Ai iniciar a aplicação , a tela de login abrir (em primeiro plano) juntamente com o Form Principal (que ficaria atrás esperando a autentificação do usuário.

Saberia me informar como posso proceder ???

Desde já agradeço,

Abraço !
Responder Citar

02/12/2015

Joel Rodrigues

O form inicial da aplicação deve ser o principal. No evento Shown dele, abra o form de login com ShowDialog. Assim o de login ficará na frente e você não precisará esconder ele, basta fechar e o foco retornará para o form principal.
Responder Citar