Le déplacement d'un contrôle en les faisant glisser avec la souris en C#

Je suis en train de déplacer le contrôle nommé pictureBox1 en le faisant glisser autour. Le problème est, quand il se déplace, il continue de se déplacer d'un endroit à un autre emplacement autour de la souris, mais il n'a suivre...
C'est mon code. et j'apprécierais vraiment si vous pouviez m'aider

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }
    bool selected = false;
    private void pictureBox1_MouseDown(object sender, MouseEventArgs e)
    {
        selected = true;
    }

    private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
    {
        if (selected == true)
        {
            pictureBox1.Location = e.Location;
        }
    }

    private void pictureBox1_MouseUp(object sender, MouseEventArgs e)
    {
        selected = false;
    }

}

OriginalL'auteur Paul Ghiran | 2013-05-05