Как переместить элемент управления мыши во время выполнения?
У меня есть приложение WinForm, я пытаюсь переместить pictureBox в форме, используяMouseMove Event
, но я не могу понять, какие правильные вычисления я должен сделать для MouseMove, когда я сначала в pictureBox, его местоположение изменяется бессмысленным образом, а затем при перемещении pictureBox местоположение перемещается правильно.
Это название панелиOuterPanel
который содержит pictureBoxpicBox
, вот код, который я использую:
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: целью является перемещение изображения после увеличения, как в Windows Photo Viewer
Update : ConvertFromChildToForm
метод
private Point ConvertFromChildToForm(int x, int y,Control control)
{
Point p = new Point(x, y);
control.Location = p;
return p;
}