using System; using System.Drawing; using System.Drawing.Drawing2D; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; public class Form1 : System.Windows.Forms.Form { GraphicsPath myPath = new GraphicsPath(); private bool isImageClicked = false; public Form1() { InitializeComponent(); myPath.StartFigure(); myPath.AddLine(new Point(150, 10), new Point(120, 150)); myPath.AddArc(200, 200, 100, 100, 0, 90); Point[] points = {new Point(350, 325), new Point(250, 350), new Point(250, 250), new Point(350, 275)}; myPath.AddCurve(points); myPath.CloseFigure(); CenterToScreen(); } private void InitializeComponent() { this.AutoScaleBaseSize = new System.Drawing.Size(5, 13); this.ClientSize = new System.Drawing.Size(292, 273); this.Text = "Form1"; this.MouseUp += new System.Windows.Forms.MouseEventHandler(this.Form1_MouseUp); this.Paint += new System.Windows.Forms.PaintEventHandler(this.Form1_Paint); } static void Main() { Application.Run(new Form1()); } private void Form1_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e) { Point mousePt = new Point(e.X, e.Y); if(myPath.IsVisible(mousePt)) { isImageClicked = true; this.Text = "You clicked the strange shape..."; } else { isImageClicked = false; this.Text = "Images"; } Invalidate(); } private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e) { Graphics g = e.Graphics; g.FillPath(Brushes.AliceBlue, myPath); if(isImageClicked == true) { Pen outline = new Pen(Color.Black, 2); g.DrawPath(outline, myPath); } } }