В итоге, следующее создает серию панелей в контейнере, которые прокручиваются и выходят из поля зрения с помощью вертикальной полосы прокрутки.
Вы не указали ASP.NET в своих тегах, поэтому я предполагаю, что это Windows-форма, а не веб-интерфейс. Я начну с вас:
- Создайте панель с именем
GrandChildPanel
. Внутри него поместите поле для изображения с левой стороны и отметьте информацию, которую вы хотите отобразить рядом с изображением. Эта панель будет продублирована для каждого элемента (т.е. песни iTunes).
- Поместите эту панель в другую, равную ширину, панель равной высоты, называемую
ChildPanel
.
- Создайте еще одну панель с именем
ParentPanel
и установите ее ширину равной размеру других панелей плюс достаточно места для вертикальной полосы прокрутки. Установите высоту, равную высоте, которую вы хотите, чтобы область прокрутки была.
- Поместите
ChildPanel
в верхний правый угол ParentPanel
и добавьте вертикальную полосу прокрутки к дальнему правому краю ParentPanel
. Установите высоту полосы прокрутки, чтобы охватить всю высоту ParentPanel
.
- Вы, вероятно, хотите добавить границу к
ParentPanel
, чтобы показать ее границы.
- Возможно, вы также захотите добавить линию в 1 или 2 пикселя внизу вашего
GrandChildPanel
, чтобы показать, где заканчивается панель.
Это настройка. Вот требования к вашему коду: каждый раз, когда вы «добавляете элемент в список» (например, каждую песню в вашем списке iTunes), вы делаете следующее:
- Клон
GrandChildPanel
.
- Назначьте клона ребенком
ChildPanel
.
- Установите для клона
Top
равным Top
предыдущего клона плюс его Height
.
- Установите
ChildPanel
Height
равным любой заданной высоте GrandChildPanel
, умноженной на количество клонов.
- Установите максимальное значение полосы прокрутки равным высоте
ChildPanel
.
Теперь все, что вам нужно сделать, чтобы сделать эту прокручиваемую, это выполнить следующие действия для прокрутки или изменения событий вертикальной полосы прокрутки: Установите ChildPanel
's Top
равным значению вертикальной полосы прокрутки (" положение "), умноженное на -1
.