Панель Flowlayout и автоматическое изменение размеров дочерних элементов управления не работают - PullRequest
3 голосов
/ 07 мая 2010

Я пытаюсь получить очень простой макет авторазмера на winform (C # .NET).Я пробовал TableLayoutPanels и FlowLayoutPanels, но ничего не работает.

У меня есть usercontrol, который является контейнером для других пользовательских контролов, которые создаются во время выполнения - я назвал его StackPanel, так как хочу, чтобы он перечислял дочерние элементы управления по вертикали,Я пробовал это с помощью FlowLayoutPanel, TableLayoutPanel и Panel (каждый элемент управления закреплен вверху).

Дочерний пользовательский элемент управления состоит из метки, а затем любого количества радиокнопок (или любого другого стандартного элемента управления - это не имеет значения).

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

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

Спасибо!

1 Ответ

2 голосов
/ 07 мая 2010

У меня был похожий опыт работы с обеими панелями.

FlowLayoutPanel:

Вы должны оставить свои дочерние виджеты привязанными к верхнему левому углу.Не стыкуй их.Также не закрепляйте их справа.Автоматическое изменение размера метки будет работать только в этой конфигурации.

Затем вы можете захватить событие изменения размера FlowLayoutPanel и вручную настроить все значения ширины дочерних компонентов.

...