Array
(
)

Fechar Tela de Login ao Autentificar usuário

Moutinho
   - 17 nov 2015

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
#Código

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

Alekym
   - 17 nov 2015

Onde tem
#Código

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


Coloque assim:
#Código
frm_Principal Sistema = new frm_Principal();
                    Sistema.Show();
                     txtbxuser.Hide();


Ou assim:
#Código
frm_Principal Sistema = new frm_Principal();
                    Sistema.Show();
                     txtbxuser.Close();


Vê se funciona desse jeito.

Moutinho
   - 18 nov 2015

Olá Caro Alekym !

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

#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 !

Joel Rodrigues
   - 02 dez 2015

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.