【问题标题】:screen coordinates with a horizontal scroll bar带有水平滚动条的屏幕坐标
【发布时间】:2011-03-15 08:24:08
【问题描述】:

我需要在地图图像上放置图标。 由于地图图像大于我的屏幕分辨率 1280 x 1024,因此会显示一个水平滚动条。

我使用 Location x 和 y 来放置图标,但问题是: 当水平滚动条位于最左侧位置时,将图标放置在位置 (0, 0) 与水平滚动条位于最右侧位置时不同...

如果我将滚动条移动到 x 轴(右)10 则 在 (0, 0) 放置一个图标,应该是 (0, 0) 但它被放置在 (10, 0)。

在这种情况下,有什么不同的方法吗? 还是我应该考虑滚动条移动了多少?如果是这样,我该怎么做?

希望我的解释是有道理的。

谢谢,

【问题讨论】:

    标签: c# vb.net map coordinates mouse-coordinates


    【解决方案1】:

    是的,这有点烦人。如果您的容器控件支持滚动,那么每当您在子控件上设置位置时,您都必须考虑其当前位置。假设您正在使用自动滚动,并且您想在 x、y 处放置一个孩子。然后你的容器控件可以使用这样的代码:

    Point p = new Point(x, y);
    p.Offset(AutoScrollPosition);
    child.Location = p;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-01-28
      • 2016-05-28
      • 1970-01-01
      • 2019-09-05
      • 1970-01-01
      • 2017-08-16
      • 2013-02-05
      相关资源
      最近更新 更多