Tengo una utilidad de captura de pantalla en la que puedo agrupar un área en el escritorio. He hecho esto de una manera bastante fácil, tengo un formulario que es del mismo tamaño que la pantalla en la que dibujo una captura de pantalla del escritorio transformada en escala de grises. Cuando el usuario mantiene presionado el botón izquierdo del mouse, puede seleccionar un área en el formulario. El rectángulo que dibuja el usuario está lleno de TransparentColor. Una vez que los usuarios levantan el mouse, el rectángulo transparente se deja en su lugar y el escritorio real es visible. Aquí viene mi problema: En mi PC de desarrollo, realmente puedo hacer clic a través de este rectángulo transparente y navegar, etc. mientras que en mi otra PC, el formulario responde con un clic del mouse en el rectángulo transparente real.Hacer clic en el escritorio en un formulario transparente
Estoy usando .NET 4.0 en C#, ¿alguna idea sobre cómo puedo hacer que realmente haga clic en el escritorio en todos los casos?
Gracias y muy apreciado :)
En lugar de utilizar un temporizador, ¿por qué no aprovechar los eventos OnMouseEnter/OnMouseDown para cada control en su formulario? – Jason
Agregue los valores faltantes para las constantes. –
Aquí hay algunos enlaces útiles: http://stackoverflow.com/questions/1524035/topmost-form-clicking-through-possible, http://pinvoke.net/default.aspx/Constants.GWL%20-%20GetWindowLong, http://pinvoke.net/default.aspx/Constants.Window%20styles – Xantix