2010-07-13 82 views
0

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

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

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

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

希望我的解释有道理。

谢谢,

回答

0

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

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