【问题标题】:how to get an object position relative to primary screen如何获取相对于主屏幕的对象位置
【发布时间】:2016-12-22 06:54:03
【问题描述】:

在 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,0)相关的 pictruebox1 位置。

【问题讨论】:

  • pictureBox1.PointToScreen(Point.Empty);这应该是一个正确的解决方案。为什么你知道它返回错误的结果?
  • 是的,你是对的,我的错!我不知道为什么,但我使用了表单位置更改事件处理程序,它在启动时给了我错误的位置,我使用了表单加载,它工作正常。谢谢!

标签: c#


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2013-02-26
    • 1970-01-01
    • 2020-10-07
    • 1970-01-01
    • 2011-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多