0

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

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

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

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

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

谢谢,

4

1 回答 1

0

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

Point p = new Point(x, y);
p.Offset(AutoScrollPosition);
child.Location = p;
于 2010-07-15T20:39:05.107 回答