C sharp - Controlar evento MouseLeave de un panel con botones adentro

 
Vista:

Controlar evento MouseLeave de un panel con botones adentro

Publicado por sr JJ (1 intervención) el 01/04/2018 01:11:40
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:



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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;
        }
 
    }
 
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder