¿Cómo detectar si el mouse está dentro del formulario completo y los controles secundarios?

Necesito detectar cuándo el usuario mueve el mouse sobre el Formulario y todos sus controles secundarios y también cuando sale del Formulario. Probé elMouseEnter yMouseLeave eventos del Formulario, probé elWM_MOUSEMOVE & WM_MOUSELEAVE yWM_NCMOUSEMOVE & WM_NCMOUSELEAVE pares de mensajes de Windows pero ninguno parece funcionar como quiero ...

La mayor parte de mi formulario está ocupado por controles secundarios de muchos tipos, no hay mucha área de cliente visible. Esto significa que si muevo el mouse muy rápido, no se detectará el movimiento del mouse, aunque el mouse esté dentro del Formulario.

Por ejemplo, tengo un TextBox que está acoplado en la parte inferior y entre el escritorio y el TextBox, solo hay un borde muy pequeño. Si muevo rápidamente el mouse desde la parte inferior al TextBox, no se detectará el movimiento del mouse, pero el mouse está dentro del TextBox, por lo tanto, dentro del Formulario.

¿Cómo puedo lograr lo que necesito?

Respuestas a la pregunta(8)

Su respuesta a la pregunta