Страницы

Поиск по вопросам

суббота, 29 декабря 2018 г.

Окно переменной длины и размещение контролов

Допустим, нужно создать окно с тестовыми вопросами. Неизвестно, какой длины будет окно. Как добавлять в такое окно элементы? Вроде с формой не поработаешь. В 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 — более современная и передовая библиотека, лучше поддерживает современные возможности и всё такое.

Комментариев нет:

Отправить комментарий