2014-01-07 3 views
0

У меня есть панель и множество небольших элементов управления внутри нее. Я пытаюсь найти положение каждого элемента управления после его прокрутки с экрана. В основном я пытаюсь найти, находится ли элемент управления в видимой области родительской панели. Поэтому, после того как объект прокручивается сверху панели, я ожидаю, что это «верхнее» значение будет отрицательным, но это, похоже, не так. Верхняя часть видимого окна панели не равна 0.в vb.net Как получить позицию объекта в прокручиваемой панели

+0

Какой код вы старались? – Airborne

ответ

0

Расположение органов управления происходит из местоположения в соответствии с панелью. Возьмите это, например:

Dim viewable as Boolean  

If Button1.Location.Y < Panel1.Height AndAlso Button1.Location.Y _ 
     + Button1.Height > 0 Then 

     viewable = True 
    Else 
     viewable = False 
    End If 

В приведенном выше примере я беру Y расположение кнопки и сравнить его с высоты панели. Помните, что расположение кнопки находится в верхнем левом углу кнопки. Затем, чтобы проверить, полностью ли вы прокрутили кнопку, вам нужно добавить высоту кнопок в местоположение, потому что, как было сказано ранее, местоположение находится в верхнем левом углу.

+0

Этот пример, конечно, относится к вертикальной прокрутке. Используйте location.X, panel1.width и button1.width для горизонтальной –

Смежные вопросы