brunohass 0 Denunciar post Postado Setembro 7, 2009 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
scorpio 7 Denunciar post Postado Setembro 7, 2009 Vai nas propriedades do projeto(na aba Application) e altera o Shutdown mode. Compartilhar este post Link para o post Compartilhar em outros sites
brunohass 0 Denunciar post Postado Setembro 8, 2009 Vai nas propriedades do projeto(na aba Application) e altera o Shutdown mode. 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
Evandro Sousa 0 Denunciar post Postado Setembro 8, 2009 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
brunohass 0 Denunciar post Postado Setembro 8, 2009 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
Evandro Sousa 0 Denunciar post Postado Setembro 8, 2009 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
brunohass 0 Denunciar post Postado Setembro 8, 2009 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
Evandro Sousa 0 Denunciar post Postado Setembro 8, 2009 Precisando estamos ai.. Abraços. Compartilhar este post Link para o post Compartilhar em outros sites