none
Controlar evento MouseLeave de un panel con botones adentro RRS feed

  • Pregunta

  • Buenas noches, tengo un panel mas pequeño, que cuando se entra a el activa el evento MouseEntered el cual ocualta el mas pequeño y muestra el otro panel con sus 12 botones (hasta ahi todo perfecto), lo que quiero es que cuando el maouse salga del panel mas grande activando el evento MouseLeave me oculte el panel mas grande con sus botones y vuelva aparecer el pequeño y asi sucesivamente.

    el problema radica que como el panel grande tiene 12 botones, entonces cuando entro a algun boton se activa el evento MuseLeave aun sabiendo que no ha salido del perimetro del panel y pues ebviamente eso es lo que no deseo.

    hasta ahora tengo algo asi:

     private void camchis_MouseEnter(object sender, EventArgs e)
            {
                camchis.Visible = false;
                cancha1.Visible = true;
            }

    private void cancha1_MouseEnter(object sender, EventArgs e) { Console.WriteLine("entro "); foreach (Control bt in this.cancha1.Controls) { bt.Visible = true; bt.MouseEnter += camchis_MouseEnter; } } private void cancha1_MouseLeave(object sender, EventArgs e) { //Console.WriteLine("salio22 " + Bounds.Contains(this.PointToClient(Cursor.Position))); if (!cancha1.Bounds.Contains(this.PointToClient(Cursor.Position))) { //cancha1.SetBounds(16, 19, 328, 163); camchis.Visible = true; cancha1.Visible = false; foreach (Control bt in cancha1.Controls) { bt.Visible = false; } } }



    • Editado sr JJ domingo, 1 de abril de 2018 0:29
    domingo, 1 de abril de 2018 0:10