Jump to content

Archived

This topic is now archived and is closed to further replies.

brunohass

[Resolvido] Fechar form de login e abrir novo form C#

Recommended Posts

Tenho um form de login funcionando normalmente.

 

Gostaria que após a validação o form de login feche e abra o form principal.

 

Segue o código:

 

 


                    try
                    {
                        
                        MySqlCommand commS = new MySqlCommand("SELECT * FROM usuarios WHERE usuario = '" + loginUsuario.Text + "' AND senha = '" + loginSenha.Text + "'", bdConn);
                        dados = commS.ExecuteReader();
                        dados.Read();
                        object idUsuario = dados[1];
                        object idSenha = dados[2];
                        object idId = dados[0];

                        
                        programaPrincipal principal = new programaPrincipal();
                        principal.Show();
                        principal.Focus();
                                                

                    }
                   catch
                    {
                        MessageBox.Show("Usuário ou senha inválidos!!!");
                    }


 

Se eu coloco this.Close(); após abrir o form principal (principal.Show();), ele fecha tudo.

Share this post


Link to post
Share on other sites

Vai nas propriedades do projeto(na aba Application) e altera o Shutdown mode.

Imagem Postada

Share this post


Link to post
Share on other sites

Vai nas propriedades do projeto(na aba Application) e altera o Shutdown mode.

Imagem Postada

 

 

 

scorpio, obrigado pela resposta, mas nos projetos em C# não tem esta opção no VS... só nos projetos em vb.

Share this post


Link to post
Share on other sites

Olá Bruno, faz o seguinte cara.

 

Vai no program.cs e faz isso

 

    static class Program
    {
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            ENTIDADEUsuario objEntUsuario = new ENTIDADEUsuario();
            frmLogin frmLogin = new frmLogin(objEntUsuario);

            if (frmLogin.ShowDialog() == DialogResult.OK)
            {
                Application.Run(new frmPrincipal(objEntUsuario));
            }
        }
    }

ISSO é o que você precisará fazer:

 

            ENTIDADEUsuario objEntUsuario = new ENTIDADEUsuario();
            frmLogin frmLogin = new frmLogin(objEntUsuario);

            if (frmLogin.ShowDialog() == DialogResult.OK)
            {
                Application.Run(new frmPrincipal(objEntUsuario));
            }

e no form login

 

if(usuario == true)
{
  this.DialogResult = DialogResult.OK;
}

 

Só isso que você precisa, ai o usuario já estará instanciado e você nao precisará mais ficar dando instancias do usuario, só precisará passa-lo como eu fiz no run do programa.

Share this post


Link to post
Share on other sites

Olá Bruno, faz o seguinte cara.

 

Vai no program.cs e faz isso

 

    static class Program
    {
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            ENTIDADEUsuario objEntUsuario = new ENTIDADEUsuario();
            frmLogin frmLogin = new frmLogin(objEntUsuario);

            if (frmLogin.ShowDialog() == DialogResult.OK)
            {
                Application.Run(new frmPrincipal(objEntUsuario));
            }
        }
    }

ISSO é o que você precisará fazer:

 

            ENTIDADEUsuario objEntUsuario = new ENTIDADEUsuario();
            frmLogin frmLogin = new frmLogin(objEntUsuario);

            if (frmLogin.ShowDialog() == DialogResult.OK)
            {
                Application.Run(new frmPrincipal(objEntUsuario));
            }

e no form login

 

if(usuario == true)
{
  this.DialogResult = DialogResult.OK;
}

 

Só isso que você precisa, ai o usuario já estará instanciado e você nao precisará mais ficar dando instancias do usuario, só precisará passa-lo como eu fiz no run do programa.

 

 

 

perdoe minha ignorância, estou começando no C#... mas o que seria esse

 

ENTIDADEUsuario objEntUsuario = new ENTIDADEUsuario();

???

 

desde já obrigado!

Share this post


Link to post
Share on other sites

Tranquilo, somos dois iniciantes http://forum.imasters.com.br/public/style_emoticons/default/graduated.gif

 

Vou tentar explicar, pode ser que eu esteja falando baboseira, mas acredito que você entenderá.

 

Ele nada mais é que uma cópia do seu banco para você poder preencher um objeto com determinadas informações, ou seja, são as "propriedades" do seu objeto.

 

Ex:

 

você tem uma tabela no banco de usuario, onde você tem as seguintes informações:

 

idUsuario, nome, login e senha.

 

no C# você irá criar uma classe Usuario, onde você terá as seguintes informações:

 

public class Usuario
{
 private int idUsuario;
 private string nome;
 private string login;
 private string senha;

 public int IdUsuario
 {
   get{ return idUsuario; } // aqui você irá retornar a propriedade preenchida.
   set{ idUsuario = value; } // aqui você irá igualar a propriedade a um valor que você estiver passando
 }
 ...
}

A e já estava me esquecendo de responder sua pergunta mesmo.

 

ENTIDADEUsuario objEntUsuario = new ENTIDADEUsuario();

é a instancia da classe Usuario, ou seja, um objeto do tipo Usuario.

 

 

Espero que tenha entendido, mas caso não tiver entendido me fale que dou um jeito.

Share this post


Link to post
Share on other sites

Tranquilo, somos dois iniciantes http://forum.imasters.com.br/public/style_emoticons/default/graduated.gif

 

Vou tentar explicar, pode ser que eu esteja falando baboseira, mas acredito que você entenderá.

 

Ele nada mais é que uma cópia do seu banco para você poder preencher um objeto com determinadas informações, ou seja, são as "propriedades" do seu objeto.

 

Ex:

 

você tem uma tabela no banco de usuario, onde você tem as seguintes informações:

 

idUsuario, nome, login e senha.

 

no C# você irá criar uma classe Usuario, onde você terá as seguintes informações:

 

public class Usuario
{
 private int idUsuario;
 private string nome;
 private string login;
 private string senha;

 public int IdUsuario
 {
   get{ return idUsuario; } // aqui você irá retornar a propriedade preenchida.
   set{ idUsuario = value; } // aqui você irá igualar a propriedade a um valor que você estiver passando
 }
 ...
}

A e já estava me esquecendo de responder sua pergunta mesmo.

 

ENTIDADEUsuario objEntUsuario = new ENTIDADEUsuario();

é a instancia da classe Usuario, ou seja, um objeto do tipo Usuario.

 

 

Espero que tenha entendido, mas caso não tiver entendido me fale que dou um jeito.

 

 

Cara, muito obrigado funcionou perfeitamente.

Share this post


Link to post
Share on other sites

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.