none
Evento KeyDow RRS feed

  • Pergunta

  • Pessoa, coloquei o codigo abaixo para pegar o envento da tecla pressionada pelo usuario mas não está funcionando, alguém pode me informar por que?
            private void txtsenha_KeyDown(Object sender, KeyEventArgs e)
            {
                if (e.KeyCode == Keys.Enter)
                {
                    if (txtlogin.Text == "alan" && txtsenha.Text == "123")
                    {
                        this.DialogResult = DialogResult.OK;
                        this.Close();
                    }
                    else
                    {
                        MessageBox.Show("Falha no Login", "Erro");
                    }
                }

    sexta-feira, 4 de abril de 2014 14:52

Todas as Respostas

  • Alan,

    Se o evento estiver atribuído a esse código que você postou, não tem porque não funcionar. Simulei a mesma situação aqui e funcionou perfeitamente

    private void textBox1_KeyDown(object sender, KeyEventArgs e)
            {
                if (e.KeyCode == Keys.Enter)
                {
                    MessageBox.Show("TESTE");
                }
            }


    Raphael Pugliesi

    • Sugerido como Resposta Pugliesi quarta-feira, 9 de abril de 2014 10:30
    sexta-feira, 4 de abril de 2014 15:44
  • Olá,

    conforme o Pugliesi disse, seu método não tem erros. Lembre-se que ele só entrada na condição do if se a tecla enter for pressionada.


    Wennder Santos

    sexta-feira, 4 de abril de 2014 16:07
  • Raphael e Wender,

    eu penso do mesmo jeito q vcs, pra min isso tb devia funcionar, mas não funciona, eu vou no form digito o usuario, ai dou um tab, digito a senha, e pressiono enter e não acontece nada, coloquei pra debugar e quando pressiono enter ele nem chega nesse codigo, só mais uma informação que não sei se pode influenciar, todo esse codigo eu mesmo criei, por que esse enventos geralmente o VS cria, por exemplo o evento de click em um botão, vc da 2 cliques no botão e ele já cria o evento é só programar o evento, nesse caso eu coloquei tudo na mão, isso não tem diferença nenhuma né?

    sexta-feira, 4 de abril de 2014 16:41
  • Alan,

    Não tem diferença nenhuma, pois no final das contas a codificação do evento deve existir (Manual ou Automática).


    Raphael Pugliesi

    sexta-feira, 4 de abril de 2014 17:17
  • Raphael e Wender,

    eu penso do mesmo jeito q vcs, pra min isso tb devia funcionar, mas não funciona, eu vou no form digito o usuario, ai dou um tab, digito a senha, e pressiono enter e não acontece nada, coloquei pra debugar e quando pressiono enter ele nem chega nesse codigo, só mais uma informação que não sei se pode influenciar, todo esse codigo eu mesmo criei, por que esse enventos geralmente o VS cria, por exemplo o evento de click em um botão, vc da 2 cliques no botão e ele já cria o evento é só programar o evento, nesse caso eu coloquei tudo na mão, isso não tem diferença nenhuma né?

    Ter não tem, mas você lembrou de adicionar o Handler:

    public Form1()
    {
    
          InitializeComponent();
          textBox1.KeyDown += textBox1_KeyDown;
    
    }

    ?


    Herbert Lausmann

    • Sugerido como Resposta Herbert Lausmann quarta-feira, 9 de abril de 2014 13:58
    sexta-feira, 4 de abril de 2014 20:05