jak przenieść kontrolkę na myszy w czasie wykonywania?

Mam aplikację WinForm, próbuję przesunąć obrazek w formularzu za pomocąMouseMove Event, ale nie mogę zrozumieć, co należy zrobić z MouseMove, kiedy najpierw ustawię pictureBox, jego lokalizacja zmienia się w sposób bezsensowny, a następnie przesuwa obraz pictureBox.

To nazwa paneluOuterPanel który zawiera pictureBoxpicBox, tutaj kod używa:

private void picBox_MouseMove(object sender, MouseEventArgs e)
{
    if (e.Button == MouseButtons.Left)
    {
        Point p = OuterPanel.PointToClient(MousePosition);
        picBox.Location = this.PointToClient(p);
    }
}

P.S: celem jest przeniesienie obrazu po powiększeniu, jak przeglądarka zdjęć systemu Windows

Aktualizacja : ConvertFromChildToForm metoda

private Point ConvertFromChildToForm(int x, int y,Control control)
{
    Point p = new Point(x, y);
    control.Location = p;
    return p;
}

questionAnswers(3)

yourAnswerToTheQuestion