2010-12-13 9 views
4

У меня есть форма в C# (WinForm). Это выглядит следующим образом:Как добавить кучу меток в форму C#, а затем прокрутить форму по вертикали?


(LOGO)

пустое пространство для этикеток, которые я добавить через код (я может поместиться 10 этикетки в это пространство)

(кнопка Закрыть)


пустое пространство может хо ld около 10 ярлыков.

Я в тупике о том, как сделать эту форму прокручиваемой, если я хочу добавить 20 ярлыков? Если я добавлю 20 меток по коду, то 11-я метка будет перекрываться с моей кнопкой закрытия, а 12-я + метка (метки) будет заканчиваться с конца формы.

Как сделать только пробел в моей форме прокручиваемой, где я создаю ярлыки? Я не хочу использовать список.

Спасибо.

ответ

1

Поместите все элементы управления внутри панели и используйте управление полосой прокрутки.

Understand .NET Scrollbars

+1

Учитывая существование свойства 'AutoScroll' на большинстве элементов управления контейнерами, предлагаемых WinForms, это, вероятно, самая худшая идея, не говоря уже о самом сложном. –

+0

С автоматическим прокруткой также будет прокручиваться логотип и кнопка закрытия. Не очень хороший дизайн пользовательского интерфейса по любым стандартам. –

+2

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

2

Может FlowLayoutPanel с AutoScroll набор для истинного и FlowDirection множества к TopDown.

4

Вы должны попробовать использовать либо TableLayoutPanel или FlowLayoutPanel в качестве контейнера для Label управления.

A TableLayoutPanel позволит вам получить более точный контроль над местом расположения ваших этикеток. Как и таблица HTML, вы указываете точную позицию ячейки (используя координаты строк и столбцов) каждого элемента управления.

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

Любой из них позволит вам добавить элементы управления ярлыками к нему во время выполнения и размер соответственно. Чтобы панель прокрутки была прокручиваемой, убедитесь, что вы установили ее свойство AutoScroll в значение «True».

1

Вы можете использовать FlowLayoutPanel.

Добавьте столько ярлыков, которые вам нужны, и включите AutoScroll на FlowLayoutPanel.