none
Eventos MouseEnter & MouseLeave en el Form pero no en los hijos RRS feed

  • Pregunta

  • Hola amig@s!

    Estoy haciendo una pequeña aplicación para controlar el volumen del PC con la rueda del ratón cuando esta está en funcionamiento.

    Lo de controlar el volumen y que se ponga siempre en primer plano funciona perfectamente. El problema es que la quiero hacer invisible cuando no estoy sobre ella y visible cuando estoy.

    Cuando esté visible me gustaría que el Form1 tenga el fondo negro y aunque me posicione encima de un controlador siga manteniendo ese mismo fondo, pero no lo consigo. Hay alguna forma de bloquear los eventos mouseEnter y mouseLeave para los controladores  y dejarlo habilitado únicamente para el Form1 ?

    y mi segundo problema es que cuando oculto los elementos pierdo el control de la rueda del ratón sobre el trackbar.

    Esto es lo que llevo hecho hasta ahora en relación a los eventos:

       private void Form1_MouseEnter(object sender, EventArgs e)
            {
                MEnter();
            }
    
            private void Form1_MouseLeave(object sender, EventArgs e)
            {
                MLeave();
            }
    
            private void MEnter()
            {
                this.BackColor = Color.Black;
    
                trackBar1.Visible = true;
                checkBox_ocultarBarraTareas.Visible = true;
                btn_cerrar.Visible = true;
            }
    
            private void MLeave()
            {
                //Formulario transparente
                this.TransparencyKey = Color.Crimson;
                this.BackColor = Color.Crimson;
    
                trackBar1.Visible = false;
                checkBox_ocultarBarraTareas.Visible = false;
                btn_cerrar.Visible = false;
            }

    Muchas gracias por vuestro tiempo. Un saludo




    lunes, 31 de agosto de 2020 15:19

Todas las respuestas

  • Hola AlonsoAlBeta, 

      

    Gracias por levantar tu consulta en los foros de MSDN. Entendimos su pregunta y vamos a darle seguimiento para buscar la mejor repuesta pertinente al caso.  

    Gracias por usar los foros de MSDN.   

     

     Andres Aguilar

     ____________________________ 

      

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.

    Si tiene algún cumplido o reclamo sobre el soporte de MSDN sientase en la libertad de contactar  MSDNFSF@microsoft.com. 

    lunes, 31 de agosto de 2020 18:39
    Moderador