using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; public class Form1 : System.Windows.Forms.Form { private bool isDragging = false; private int currentX, currentY; Rectangle dropRect = new Rectangle(180, 180, 60, 60); private PictureBox myPictureBox; public Form1() { InitializeComponent(); CenterToScreen(); myPictureBox = new PictureBox(); myPictureBox.SizeMode = PictureBoxSizeMode.StretchImage; myPictureBox.Location = new System.Drawing.Point(64, 32); myPictureBox.Size = new System.Drawing.Size(50, 50); myPictureBox.Image = new Bitmap("winter.jpg"); myPictureBox.MouseDown += new MouseEventHandler(myPictureBox_MouseDown); myPictureBox.MouseUp += new MouseEventHandler(myPictureBox_MouseUp); myPictureBox.MouseMove += new MouseEventHandler(myPictureBox_MouseMove); myPictureBox.Cursor = Cursors.Hand; Controls.Add(myPictureBox); } private void InitializeComponent() { this.AutoScaleBaseSize = new System.Drawing.Size(5, 13); this.ClientSize = new System.Drawing.Size(292, 273); this.Text = "Dragging Images"; this.Paint += new System.Windows.Forms.PaintEventHandler(this.Form1_Paint); } static void Main() { Application.Run(new Form1()); } private void myPictureBox_MouseDown(object sender, MouseEventArgs e) { isDragging = true; currentX = e.X; currentY = e.Y; } private void myPictureBox_MouseMove(object sender, MouseEventArgs e) { if (isDragging) { myPictureBox.Top = myPictureBox.Top + (e.Y - currentY); myPictureBox.Left = myPictureBox.Left + (e.X - currentX); } } private void myPictureBox_MouseUp(object sender, MouseEventArgs e) { isDragging = false; Console.WriteLine(dropRect.Contains(myPictureBox.Bounds)); } private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e) { Graphics g = e.Graphics; g.FillRectangle(Brushes.AntiqueWhite, dropRect); g.DrawString("Drag and drop the image here.", new Font("Times New Roman", 8), Brushes.Red, dropRect); } }