2010-07-13 52 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;