
Envoyé par
SirJulio
Salut Shypster,
oui, c'est tout à fait normal.
En fait, quand tu curseur entre sur un element contenu dans un panel, il n'est plus sur le panel mais sur l'element, de fait l'event MouseLeave est levé pour le panel.
Pour pallier à ca, je vois deux solutions,
-soit abonner en cascade les elements contenu dans le panel pour savoir sur qui est le curseur, mais suivant ce que contient ton panel, c'est tres lourd.
-soit rajouter un test dans ton MouseLeave pour comparer la position de la souris par rapport à la surface totale (de memoire, ClientArea je crois ?) du panel, si la souris est toujours dans cette zone, c'est qu'elle est sur un controle contenu dans le panel (donc on ne fait rien), si le curseur est au dela de la zone du panel, c'est qu'il est sorti, donc tu peux modifier ton panel.
AMHA, la deuxieme solution est bien plus simple à mettre en place car elle n'est pas dependante ni de ce qui il y a dans ce panel, ni de la profondeur des conteneurs du panel (le panel pourrait contenir un groupbox qui lui contiendrai un usercontrol etc).
Partager