Мне нужна помощь: когда я пытаюсь выполнить событие щелчка , должна быть расположена другая точка объекта графического блока, а не в верхнем левом углу .
Есть ли способ изменить опорную точку перемещения объекта ?
Пример:
Точка, обозначенная как " Желтый круг ", является контрольной точкой, в которой объект " pictureBoxRed " находится в любом событии щелчка мыши .
Точка, обозначенная как Black Star , - это точка, указывающая, например, позицию, по которой нужно щелкнуть.
Если щелкнуть левой стрелкой точку выборки, обозначенную как " Black Star ", ее необходимо переместить из точки " Yellow Circle " в " pictureBoxRed"объект, а не верхний левый угол объекта" pictureBoxRed".
Спасибо за вашу помощь.
Вот пример анимации Gif об этой проблеме
private void Exmp(object sender, MouseEventArgs e)
{
GeneralClick(e.Button, e.X, e.Y);
}
PictureBox picRed = new PictureBox();
PictureBox picBlue = new PictureBox();
private void GeneralClick(MouseButtons sender, int X, int Y)
{
if (sender == MouseButtons.Left)
{
picRed.Location = new Point(X, Y);
var arrayer = this.PointToScreen(picRed.Location);
arrayer = picBlue.PointToClient(arrayer);
picRed.Parent = picBlue;
}
}
public Form1()
{
InitializeComponent();
picBlue.MouseClick+= new MouseEventHandler(Exmp);
}