Bom dia, Tudo bem?
Qual seria a diferença entre entre KeyDown e KeyPress? Não consegui entender.
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Bom dia, Tudo bem?
Qual seria a diferença entre entre KeyDown e KeyPress? Não consegui entender.
Oi Julia,
A diferença entre KeyDown e KeyPress reside no momento em que cada evento é disparado e no tipo de informação que eles fornecem. 💪
KeyDown: Este evento é acionado quando uma tecla é pressionada, independentemente de qual tecla seja (incluindo teclas de função, setas, etc.). Ele fornece informações sobre a tecla física que foi pressionada, através do código da tecla (KeyCode). É útil para capturar eventos de teclas que não geram caracteres imprimíveis. 💻
KeyPress: Este evento é acionado após o evento KeyDown, mas apenas se a tecla pressionada gerar um caractere imprimível. Ele fornece o código do caractere (AsciiCode) correspondente à tecla pressionada, levando em consideração o layout do teclado e as teclas modificadoras (Shift, Ctrl, Alt). É útil para capturar a entrada de texto. 📝
Em resumo, KeyDown lida com a ação física de pressionar uma tecla, enquanto KeyPress lida com o caractere resultante dessa ação. 👍
Exemplo prático:
Imagine que você pressione a tecla "A" no seu teclado.
KeyDown é disparado primeiro, informando que a tecla "A" (ou o código da tecla correspondente) foi pressionada.KeyPress é disparado, informando que o caractere "a" (ou o código ASCII correspondente) foi gerado.Se você pressionar a tecla "PAGEUP" ou "PAGEDOWN", apenas o evento KeyDown será disparado, pois essas teclas não geram caracteres imprimíveis. 🤔
Para saber mais:
Continue explorando e aprofundando seus conhecimentos!
Bom dia Luis, Tudo bem ?
No caso, as teclas que geram o evento KeyPress são todas as que possuem um código ASCII correspondente, certo?
Letras Pontuações Números Espaço Delete
E as demais teclas não geram KeyPress, correto?
Bom dia,
Um evento KeyPress pode ocorrer quando qualquer uma das seguintes chaves é pressionada:
Um evento KeyPress não ocorre sob as seguintes condições:
Observação O BACKSPACE faz parte do conjunto de caracteres ANSI, mas DELETE não é. Excluir um caractere em um controle usando o BACKSPACE causa um evento KeyPress; excluir um caractere usando DELETE não.