Mega Code Archive

 
Categories / C# / Event
 

Handle Mouse click event on an Image

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   {     private Image bMapImageA = new Bitmap("winter.jpg");     private Image bMapImageB = new Bitmap("winter.jpg");     private Image bMapImageC = new Bitmap("winter.jpg");     private Rectangle rectA = new Rectangle(10, 10, 90, 90);     private Rectangle rectB = new Rectangle(10, 110, 90, 90);     private Rectangle rectC = new Rectangle(10, 210, 90, 90);     private bool isImageClicked = false;     private int imageClicked;     public Form1()     {       InitializeComponent();       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(rectA.Contains(mousePt)) {         isImageClicked = true;         imageClicked = 0;         this.Text = "You clicked image A";       } else if(rectB.Contains(mousePt)) {         isImageClicked = true;         imageClicked = 1;         this.Text = "You clicked image B";       } else if(rectC.Contains(mousePt)) {         isImageClicked = true;         imageClicked = 2;         this.Text = "You clicked image C";       } else {         isImageClicked = false;         this.Text = "Images";       }       Invalidate();     }     private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)     {       Graphics g = e.Graphics;       g.DrawImage(bMapImageA, rectA);       g.DrawImage(bMapImageB, rectB);       g.DrawImage(bMapImageC, rectC);       if(isImageClicked == true) {         Pen outline = new Pen(Color.Black, 2);         switch(imageClicked) {           case 0:             g.DrawRectangle(outline, rectA);             break;           case 1:             g.DrawRectangle(outline, rectB);             break;           case 2:             g.DrawRectangle(outline, rectC);             break;           default:             break;         }       }     }   }