Cómo evitar que un control Winforms escuche el teclado
Pregunta
Para una determinada forma de entrada, me gustaría hacer posible la entrada con el teclado. Sé cómo leer las teclas a través de KeyPressed y KeyUp, pero el problema es que cuando un control tiene el foco y el usuario presiona la tecla Enter, ese control recibe un evento Click. ¿Es posible prevenir ese comportamiento? ¿O es posible saber si un evento de clic se activó con el mouse o el teclado?
Solución
¿Ayuda esto? De Microsoft Knowledge Base
Mueva el código del botón desde el botón. Haga clic () en un botón. MouseClick ()
Otros consejos
Esto sería más fácil si pudiera describir la situación y el comportamiento exacto que desea ... :)
Puede configurar:
Form.KeyPreview = True
Esto envía eventos clave al formulario primero y luego al control. Esto le brinda la oportunidad de capturar Eventos clave en el formulario y 'cancelarlos':
e.Handled = True
¡También asegúrese de no haber configurado el AcceptButton para el Formulario!
También puede escuchar eventos de teclado y filtrar teclas.