Click here to Skip to main content
11,640,125 members (67,353 online)
Rate this: bad
good
Please Sign up or sign in to vote.
See more: C# Drag drop WinForm Mouse
Hi, I am making a simple 2D map maker for games. Simply the user clicks on a button that will show a openfiledialog. The user chooses a file and is loaded in a PictureBox. Then if the user wants to add it to the game world(panel) he/she clicks on the add button and the panel will load the picture. What I am having trouble with is being able to drag and drop the image within that panel. I will appreciate your help.

windows 7   visual C#   winform

thanks,
Posted 15-Feb-12 5:32am
Edited 15-Feb-12 11:42am
v3
Rate this: bad
good
Please Sign up or sign in to vote.

Solution 2

Hello,

I think this can help:

private bool isPictureReadyToDrag;
private void SetPosition()
{
     MyPictureBox.Location = new Point(MousePosition.X - this.Left - MyPictureBox.Width / 2, MousePosition.Y - this.Top - MyPictureBox.Height);
}
 
private void MyPictureBox_MouseMove(object sender, MouseEventArgs e)
{
     if (isPictureReadyToDrag)
         SetPosition();
}
 
private void MyPictureBox_MouseUp(object sender, MouseEventArgs e)
{
     isPictureReadyToDrag = false;
}
 
private void MyPictureBox_MouseDown(object sender, MouseEventArgs e)
{
     isPictureReadyToDrag = true;
     SetPosition();
}
  Permalink  
Comments
angelllll at 15-Feb-12 18:18pm
   
Both of your solutions were helpful, Great examples from both of you.

Thanks,
Shahin Khorshidnia at 15-Feb-12 18:36pm
   
Thank you.
khushwant sahota at 15-Feb-12 20:09pm
   
any time...cheers

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
0 Suvendu Shekhar Giri 225
1 F-ES Sitecore 170
2 CPallini 167
3 Sergey Alexandrovich Kryukov 144
4 himanshu agarwal 142
0 OriginalGriff 9,081
1 Sergey Alexandrovich Kryukov 8,847
2 Mika Wendelius 7,027
3 Suvendu Shekhar Giri 2,650
4 F-ES Sitecore 2,558


Advertise | Privacy | Mobile
Web01 | 2.8.150731.1 | Last Updated 15 Feb 2012
Copyright © CodeProject, 1999-2015
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100