usar teclado navegar izquierdo internet hacer dar cómo con computadora como clic activar .net winforms

.net - teclado - Ventana transparente(o dibujar en la pantalla) Sin captura de mouse



cómo usar el teclado de la computadora sin mouse (1)

Sustituya la propiedad CreateParams en su clase Form y asegúrese de que esté configurado el estilo extendido WS_EX_NOACTIVATE. El mío se ve así:

protected override CreateParams CreateParams { get { CreateParams baseParams = base.CreateParams; baseParams.ExStyle |= ( int )( Win32.ExtendedWindowStyles.WS_EX_LAYERED | Win32.ExtendedWindowStyles.WS_EX_TRANSPARENT | Win32.ExtendedWindowStyles.WS_EX_NOACTIVATE | Win32.ExtendedWindowStyles.WS_EX_TOOLWINDOW ); return baseParams; } }

Los valores para ExtendedWindowStyles utilizados anteriormente son:

WS_EX_LAYERED = 0x00080000, WS_EX_NOACTIVATE = 0x08000000, WS_EX_TOOLWINDOW = 0x00000080, WS_EX_TRANSPARENT = 0x00000020,

En una aplicación que estoy codificando, me gustaría hacer aparecer un mensaje de alerta que muestra un gran mensaje de advertencia semitransparente sin afectar el trabajo de los usuarios. Básicamente me desvaneceré en el mensaje, pero nunca estableceré su opacidad en 1 y quiero que el usuario pueda hacer clic en ''atravesar'' el mensaje como si no estuviera allí.

Empecé utilizando una ventana siempre en la parte superior y estableciendo el estilo de ventana en ninguno y estableciendo el fondo y la clave de transparencia en blanco. En esta ventana hay una etiqueta con una fuente grande que contiene el mensaje de alerta (más adelante probablemente anule el evento de pintura y pinte el mensaje usando GDI). Utilizo un temporizador para fundirme en el mensaje marcando su opacidad antes de volver a marcarlo. Funciona bien porque no se roba el foco de ninguna aplicación, pero el formulario transparente captura los eventos del mouse, no el formulario debajo (en realidad, la mayoría del formulario que es transparente no captura los eventos del mouse, solo el texto de la etiqueta lo hace )

Además, no estoy seguro de que sea el enfoque óptimo, tal vez debería pintar directamente en la pantalla de alguna manera.

¿Cómo debería mejorar las cosas?