Допустим, нужно создать окно с тестовыми вопросами. Неизвестно, какой длины будет окно. Как добавлять в такое окно элементы? Вроде с формой не поработаешь. В Qt есть менеджеры компоновки. Там просто добавляешь элементы. В С# есть что-нибудь подобное? Как в таком случае организовать добавление элементов окна?
UPD: Черт, простите, моя вина. Я пишу на WinForms и там уже относительно большой проект написан. Эти вопросы являются частью проекта, которую я оставил для реализации на потом. Так что решения WPF не требуются, хотя все равно спасибо за них, в будущем почитаю про них.
Ответ
Если вы используете WinForms, изучайте:
Свойства:
Control.Anchor
Control.Dock
Control.Margin
Control.Padding
Классы:
TableLayoutPanel
FlowLayoutPanel
SplitterPanel
См.:
Windows Forms Layout
Если вы используете WPF, изучайте:
Свойства:
FrameworkElement.HorizontalAlignment
FrameworkElement.VerticalAlignment
FrameworkElement.Margin
FrameworkElement.Padding
Классы:
Grid
DockPanel
StackPanel
WrapPanel
Canvas
См.:
Layout
Alignment, Margins, and Padding Overview
В целом, WPF даёт больше свободы для дизайна, поэтому, если вам требуется сложная логика размещения контролов, рекомендуется использовать его. Ну и WPF — более современная и передовая библиотека, лучше поддерживает современные возможности и всё такое.
Комментариев нет:
Отправить комментарий