Вам нужно будет посмотреть на события MouseDown и MouseMove. На MouseDown вы хотите захватить текущие координаты x и y мыши:
private Point trackPoint;
trackPoint= new Point(x, y);
В MouseMove вам необходимо рассчитать разницу между исходными точками x и y и новыми позициями мыши x и y (где e
- это EventArgs события MouseMove):
int xDiff = trackPoint.X - e.X;
int yDiff = trackPoint.Y - e.Y;
Затем обновите позицию отслеживания
trackPoint = new Point(e.X, e.Y);
Затем переместите изображение с помощью xDiff и yDiff:
Image.Location = new Point(Image.Location.X - xDiff, Image.Location.Y - yDiff);
Это полностью не проверено, и я не гарантирую, что вышесказанное будет работать как есть, но должно указать вам правильное направление.