Ver Mensaje Individual
  #1  
Antiguo 31-10-2011
jumasuro jumasuro is offline
Registrado
 
Registrado: feb 2007
Posts: 7
Reputación: 0
jumasuro Va por buen camino
Problema con "MouseLeave" de un frame

Hola compañeros,
tengo un pequeño problema que no consigo solucionar y es el siguiente:
estoy intentando hacer una aplicación que despliegue un menú lateral en el escritorio, con varias opciones y que al pasar el ratón por cada opción se muestre otro formulario simulando un submenú con varias opciones más. Sería algo parecido al menú que aparece por ejemplo al pulsar la opción "Marcadores" del firefox, pero desplegado desde el lateral del escritorio.
En mi caso presento un formulario principal, con varias opciones desplegadas en vertical (cada una de esas opciones es un frame compuesto por una imagen (que mostrará un icono) y una label (para el nombre de la opción). Cuando paso el ratón por encima del frame (sin necesidad de hacer click) muestro una ventana que simula a un submenú con varias opciones más y alineado a la derecha del frame.
Para saber cuando el ratón sale de un frame y entra en otro frame (se debe ocultar el submenú del frame antiguo y mostrarse el submenú del nuevo frame) he añadido a la declaración del frame los procedimientos "MouseEnter" y "MouseLeave" siguiendo varios ejemplos del foro (no se si es la mejor solución, pero de todo lo que he probado esta es la que me ha parecido más óptima).
Cuando el ratón entra en el frame salta correctamente el evento "MouseEnter" y se muestra el "submenú", pero mi problema es que si el ratón pasa sobre la imagen o la label de ese frame, creo que salta el evento "MouseLeave" del frame, porque se cierra el submenú.
Como es lógico, el submenú sólo debería cerrarse una vez se sale totalmente del frame y no por pasar sobre cualquier componente contenido en el mismo.
Había pensado añadir un MouseEnter y un MouseLeave en la imagen y la label del componente para que hagan lo mismo que el frame, pero no lo he conseguido, y además imagino que se produciría un parpadeo molesto al cerrarse el "submenú" (por saltar el MouseLeave del frame) y abrirse de nuevo (por saltar el MouseEnter de la imagen o la label).
¿Como podría solucionar este problema?.

Como siempre muchas gracias por adelantado y un saludo.
Responder Con Cita