Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

Imagem Postada

Compartilhar este post


Link para o post
Compartilhar em outros 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.

Compartilhar este post


Link para o post
Compartilhar em outros 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.

Compartilhar este post


Link para o post
Compartilhar em outros 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!

Compartilhar este post


Link para o post
Compartilhar em outros 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.

Compartilhar este post


Link para o post
Compartilhar em outros 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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.