al introducir un boton falla KeyDown

19/12/2009 - 02:22 por Javito | Informe spam
Estoy haciendo un juego simple que captura las pulsaciones del teclado
mediante eventos de formulario KeyDown y me ha sorprendido el que al
principio funcionaba sin problemas y capturaba las teclas diferenciándolas
por el KeyEventArgs, pero de repente al incluir un botón para iniciar el
juego dejaron de funcionar los eventos de recogidas de teclas, he
reproducido el caso en un proyecto vacío y un formulario vacío y el
resultado es el mismo al meter un botón deja de recoger los eventos de
teclado de formulario, no pasa con otros controles, por lo que he iniciado
el juego con el evento click de una etiqueta, pero sabéis a que se puede
deber este comportamiento.

un saludo

Preguntas similare

Leer las respuestas

#1 Hernán
19/12/2009 - 15:00 | Informe spam
Javito escribía:

Estoy haciendo un juego simple que captura las pulsaciones del teclado
mediante eventos de formulario KeyDown y me ha sorprendido el que al
principio funcionaba sin problemas y capturaba las teclas diferenciándolas
por el KeyEventArgs, pero de repente al incluir un botón para iniciar el
juego dejaron de funcionar los eventos de recogidas de teclas, he
reproducido el caso en un proyecto vacío y un formulario vacío y el
resultado es el mismo al meter un botón deja de recoger los eventos de
teclado de formulario, no pasa con otros controles, por lo que he iniciado
el juego con el evento click de una etiqueta, pero sabéis a que se puede
deber este comportamiento.

un saludo




Es el comportamiento típico de windows de toda la vida.

De todos modos, tienes el key preview del form. Esto le permite continuar
recibiendo keydowns, al menos aquellos que no son interceptados por algún
filtro que le asigna un significado particular (e.g. el handler de teclado
de los diálogos te filtrará las flechas entre otras).

La doc te indica cuales son estos varios filtros que condicionan el
despacho del keydown. También te dice cuales son los métodos que debes
sobreescribir si te animas a modificar esta conducta.



Todo bien.
Respuesta Responder a este mensaje
#2 Rodofo Menéndez
21/12/2009 - 17:35 | Informe spam
Para no complicarte tanto, si solo es un boton, remplazalo por un label o
imagen, ya que aún con el keypreview con varios botones podrías tener
problemas con las flechas e intro.

Saludos.


"Javito" wrote in message
news:#
Estoy haciendo un juego simple que captura las pulsaciones del teclado
mediante eventos de formulario KeyDown y me ha sorprendido el que al
principio funcionaba sin problemas y capturaba las teclas diferenciándolas
por el KeyEventArgs, pero de repente al incluir un botón para iniciar el
juego dejaron de funcionar los eventos de recogidas de teclas, he
reproducido el caso en un proyecto vacío y un formulario vacío y el
resultado es el mismo al meter un botón deja de recoger los eventos de
teclado de formulario, no pasa con otros controles, por lo que he iniciado
el juego con el evento click de una etiqueta, pero sabéis a que se puede
deber este comportamiento.

un saludo

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida