Click here to Skip to main content
11,417,972 members (42,752 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 6:32am
Edited 15-Feb-12 12:42pm
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 Sascha Lefévre 340
1 Abhinav S 339
2 OriginalGriff 315
3 Sergey Alexandrovich Kryukov 245
4 deepankarbhatnagar 121
0 Sergey Alexandrovich Kryukov 9,345
1 OriginalGriff 7,712
2 Maciej Los 3,758
3 Abhinav S 3,601
4 Sascha Lefévre 3,198


Advertise | Privacy | Mobile
Web04 | 2.8.150427.4 | 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