Подтвердить что ты не робот

Как прокручивать панель вручную?

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

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

4b9b3361

Ответ 1

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

c.HorizontalScroll.Value += 100;
c.VerticalScroll.Value = c.VerticalScroll.Maximum;

Ответ 2

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

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

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

Ответ 3

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

Eg. для перемещения всех элементов управления 10 px:

int xoffset = 10;

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

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