buena respuesta aquí ... obtener el conjunto de todos los keystates a la vez utilizando GetKeyboardState()
:
Lo anterior está comprobando el estado en directo del teclado.
Si confía en conectar sucesos hasta los eventos KeyDown/KeyUp para rastrear el estado del teclado ... entonces esto puede no ser tan preciso.
Eso es porque confía en el mensaje de bombeo para procesar y enviar esos mensajes KeyDown/KeyUp .... pueden entregarse después de que el estado real del teclado haya cambiado nuevamente.
También porque cuando se ejecuta su bit de código que está interesado en el estado del teclado (generalmente en el hilo de la interfaz de usuario) ... KeyDown o KeyUp no pueden interrumpirlo ... a medida que se envían en el hilo de la interfaz de usuario también ... es por eso que se debe usar GetKeyBoardState()
o Keyboard.IsKeyDown
.
(lo anterior es suponiendo que usted quiere y se preocupa por el estado en vivo)
buena respuesta de hecho –