在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);
答案 0 :(得分:1)
pictureBox1.PointToScreen(Point.Empty);
是正确的解决方案。你从位置更改事件处理程序得到错误可能是在表单完全加载之前引发它。