координаты экрана с горизонтальной полосой прокрутки - PullRequest
0 голосов
/ 13 июля 2010

Мне нужно разместить значки на изображении карты.Так как изображение карты больше моего разрешения экрана 1280 x 1024, отображается горизонтальная полоса прокрутки.

Я использую Местоположение x и y для размещения значков, но проблема в том, что размещение значка в месте (0, 0), когда горизонтальная полоса прокрутки находится в крайнем левом положении, отличается от положения, когда горизонтальная полоса прокруткинаходится в крайнем правом положении ...

Если переместить полосу прокрутки на ось X (вправо) 10, тогда размещение значка в (0, 0), должно быть (0, 0), но этов (10, 0).

в этом случае, есть ли другой подход?или я должен рассмотреть, сколько полоса прокрутки переместилась?если да, то как мне это сделать?

надеюсь, что мое объяснение имеет смысл.

Спасибо,

1 Ответ

0 голосов
/ 16 июля 2010

Да, это немного раздражает.Если ваш контейнерный элемент управления поддерживает прокрутку, то вы должны учитывать его текущую позицию всякий раз, когда вы устанавливаете местоположение для дочернего элемента управления.Предположим, вы используете автопрокрутку и хотите поместить ребенка в x, y.Тогда ваш контейнерный контроль может использовать такой код:

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