如何获得相对于主屏幕的对象位置

时间:2016-12-22 06:54:03

标签: c#

在C#中,如何在窗体中相对于主屏幕获取对象的位置?

我搜索了一下,但我真的很困惑。

我得到表单位置和对象位置并求和但是它不正确:

X = this.Location.X + pictureBox1.Location.X;
Y = this.Location.Y + pictureBox1.Location.Y;

我也试过这个:

mypoint = pictureBox1.PointToScreen(Point.Empty);

和此:

mypoint =new Point(this.Location.X + pictureBox1.Location.X - Screen.PrimaryScreen.Bounds.Left,
          this.Location.Y + pictureBox1.Location.Y - Screen.PrimaryScreen.Bounds.Top);

我希望pictruebox1位置与显示点(0,0)相关。 enter image description here

1 个答案:

答案 0 :(得分:1)

pictureBox1.PointToScreen(Point.Empty);是正确的解决方案。你从位置更改事件处理程序得到错误可能是在表单完全加载之前引发它。