jueves, 8 de marzo de 2018

Receta C# No. 8-2: Detectar Cuando se Pasa el Puntero del Mouse sobre una Figura

1. Problema

Detectar cuando el usuario hace pasa el puntero del mouse dentro de una figura.

2. Solución

Existen diferentes métodos para detectar el movimiento del mouse sobre un tipo de figura:
  • Rectangle.Contains
  • Region.IsVisible
  • GraphicsPath.IsVisible
Estos métodos están diseñados para figuras de formas determinadas, y forman parte del namespace System.Drawing y otros anidados (e.g., System.Drawing.Drawing2D) (Jones, Freeman, 2010).

3. Código C#


Líneas sobresalientes:
  • Líneas 10-11: Definición de los tipos de figura a dibujar.
  • Líneas 13-14: Variables bandera para detectar cuando se está dentro de un path (ruta) y un rectángulo.
  • Líneas 16-17: Colores para alternar: chocolate cuando se está dentro de la figura, y verde amarillo cuando se está fuera de la figura.
  • Líneas 24-34: Una vez se carga el formulario se crean las figuras: un path (o camino) y un rectángulo. Para el caso del path se crea una elipse, una curva y dos líneas.
  • Líneas 37-56: Aquí se pintan en pantalla las figuras con sus características, en particular si el puntero del mouse está sobre ellas se pintan con color chocolate, en caso contrario en verde amarillo.
  • Líneas 61-101: Aquí se describe la lógica de movimiento del puntero para detectar las áreas de las figuras y así establecer los valores verdadero o falso para las variables bandera (líneas 13-14).
Prueba de ejecución:
Detección puntero sobre figuras
Animación 1. Detección puntero sobre figuras.

4. Literatura & Enlaces

Jones, A., Freeman (2010). Visual C# 2010 Recipes: A Problem-Solution Approach. United States: Apress.

O

No hay comentarios:

Publicar un comentario

Envíe sus comentarios, dudas, sugerencias, críticas. Gracias.