Обсуждение статьи "DoEasy. Элементы управления (Часть 4): Элемент управления "Панель", параметры Padding и Dock"

Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Опубликована статья DoEasy. Элементы управления (Часть 4): Элемент управления "Панель", параметры Padding и Dock:
В статье реализуем работу таких параметров панели как Padding (внутренние отступы/поля со всех сторон элемента) и Dock (способ расположения объекта внутри контейнера).
WinForm-объект "Панель" по сути является обычным контейнером для размещения внутри него других WinForm-объектов. При размещении таких объектов мы можем самостоятельно указать требуемые координаты размещения объекта, и он будет расположен на указанных координатах. Но мы можем также указать и способ привязки размещаемого в контейнере объекта после его создания внутри контейнера. И для этого существует шесть способов привязки объекта внутри своего контейнера (свойство Dock объекта):
При этом, если выбран один из способов привязки, где объект прилипает к одной, или всем границам своего контейнера, его края притягиваются к границе контейнера с учётом величины Padding, установленной для контейнера — граница располагаемого объекта будет притянута не к границе контейнера, а будет отстоять от его границы на дистанцию, величина которой указана в значении Padding контейнера.
Способ же расположения объекта внутри контейнера указывается в его значении Dock. При этом, если в контейнере находится не один объект, то каждый последующий будет "прилипать" не к границе контейнера на дистанции Padding, а к предыдущему объекту, притянутому к той же стороне контейнера.
На изображении показано как в MS Visual Studio притягиваются объекты к верхней грани своего контейнера, для которого установлено значение Padding равное 20, если для них выбрать притягивание к верхней границе контейнера:
Сегодня сделаем все возможные варианты расположения объекта внутри своего контейнера только для одного объекта.
Для того, чтобы учитывать значение Padding контейнера, мы сделаем не смещение координат расположения объекта внутри панели, а в самом объекте "Панель" добавим ещё один объект на канвасе — объект-подложку, и уже на него будем располагать все нужные объекты внутри панели.
Автор: Artyom Trishkin