Как прокрутить панель вручную? - PullRequest
16 голосов
/ 04 ноября 2008

Я хочу использовать те же функции, которые доступны, когда Panel.AutoScroll имеет значение true, но с невидимыми полосами прокрутки.

Для этого мне нужно знать, как я могу прокручивать влево / вправо вверх / вниз, используя функции в моем коде.

Ответы [ 3 ]

13 голосов
/ 05 ноября 2008

Вы должны иметь возможность использовать свойства VerticalScroll и HorizontalScroll компонента:

c.HorizontalScroll.Value += 100;
c.VerticalScroll.Value = c.VerticalScroll.Maximum;
10 голосов
/ 07 января 2009

Ну, если вы не хотите использовать свойство Autoscroll, есть способ, который я использовал давным-давно.

  • Поместите панель внутри панели. Поместите элемент управления полосы прокрутки на родительскую панель, а затем с помощью полосы прокрутки измените свойство Top панели внутри.

Это просто и прекрасно работает.

0 голосов
/ 07 января 2009

Возможно, на панели есть свойство для этого, или вы можете перебрать все дочерние элементы панелей и отрегулировать их положение.

Например. переместить все элементы управления 10 пикселей:

int xoffset = 10;

foreach(Control c in panel1.Controls)
    c.Location.X += xoffset;

Элементы управления можно перемещать в отрицательные позиции, чтобы заставить их перемещаться за пределы панели, аналогично они могут иметь значения местоположения, превышающие размер панелей, чтобы заставить их выйти за пределы панели.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...