Evento apertar tecla Enter C#

Uma coisa que facilita bastante para o usuário é tratar os eventos de TextBoxes com o mesmo dos Buttons que deveriam fazer a mesma coisa.

Me perguntaram como se faz isso e respondo logo abaixo, que aliás é bem simples.
Selecione o textBox em que deseja que o enter funciona e vá até a janela de propriedades e eventos.
Dê um duplo clique no evento KeyPress. Você deverá fazer a seguinte verificação antes de chamar os métodos/rotinas.
        
private void tbJhomps_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == 13)
{

//sua rotina aqui
MessageBox.Show("Você apertou a tecla enter");
}
}

Agora provavelmente você está perguntando – “Porque KeyChar == 13?” É simples, a tecla Enter está representada na tabela de caracteres ASCII pelo decimal 13, então o programa confere se a tecla digitada corresponde ao número respectivo e executa o que estiver informando.

Se quiser saber quais são os outros códigos decimais para cada tecla, visite este link.
Até a próxima.

22 comentários:

  1. finalmente achei uma resposta util hehe, obrigado amigo!

    ResponderExcluir
  2. Achei excelente valeu pela dica, obrigado!!!

    ResponderExcluir
  3. Muito bom cara, simples e objetivo !!!

    ResponderExcluir
  4. Valeu cara pela força!!!

    ResponderExcluir
  5. Não costumo comentar, mas este merece, 5* muito objectivo e simples, parabéns!

    ResponderExcluir
  6. Parabéns, muito bom. Olharei os outros tópicos deste blog!

    ResponderExcluir
  7. Muito obrigado pela dica. Foi direto no ponto vlw mesmo.

    ResponderExcluir
  8. Nem meu professor deu uma resposta tão boa muito obrigadooooooooooooo. Agora como retirar o barrulhinho que faz o win faz quando teclo enter?? Tem como ?? marcosjaru_31@hotmail.com

    ResponderExcluir
  9. Respostas
    1. Henrique, pelo evento KeyPress não tem como pegar as setas. Para isso use o evento KeyDown e então faça o if desta forma:

      if (e.KeyCode == Keys.Left){ }
      if (e.KeyCode == Keys.Right){ }
      if (e.KeyCode == Keys.Up){ }
      if (e.KeyCode == Keys.Down){ }

      Abraço

      Excluir
  10. Bom dia e se foce as teclas F1,F2,F3, ...etc?

    ResponderExcluir
  11. aff! foi difícil achar uma resposta para essa minha dúvida!

    ResponderExcluir
  12. Já tentei de tudo mas não consigo achar o metodo certo,
    eu estou querendo que onde eu ppressione a tecla ENTER
    pressione tbm o BUTTON no windows form.

    Comecei a mecher com programação agr se alguém puder me
    ajudar.

    ResponderExcluir
    Respostas
    1. Neste caso você tem que entrar nas propriedades do seu FORM e encontrar a "AcceptButton". Lá você vincula um botão pelo ID e, sempre que a tecla Enter for pressionada em qualquer lugar do form, o evento Click dele será disparado.

      Excluir
  13. Deu muito certo valeu cara

    ResponderExcluir

Não esqueça de enviar um comentário. Isto motiva o autor a continuar postando e também é uma forma de agradecimento