Хобрук: Ваш путь к мастерству в программировании

Как я могу сделать привязку группового поля к трем сторонам панели, но уважать ее расположение?

У меня есть панель с групповым ящиком внутри. Я бы хотел, чтобы групповое поле увеличивалось и уменьшалось по мере изменения размера панели. Однако на панели есть 2 элемента управления, которые будут размещены над групповым полем. Я хочу, чтобы групповой ящик всегда оставался под этими элементами управления.

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

Как я могу заставить групповое поле учитывать установленное мной местоположение, но расширять панель, чтобы заполнить панель вниз, влево и вправо?

21.09.2012

  • Поместите групповой ящик на одну панель и 2 других элемента управления на другую. Установите выравнивание верхней панели с элементами управления на «верхнее», нижней панели с групповым полем и самого группового поля на «клиент». Это не сработает? 21.09.2012

Ответы:


1

Я не вижу, в чем проблема, если я понимаю вопрос, дизайнер WinForms вполне способен это настроить. Разве это не работает?

this.groupBox.Anchor = AnchorStyles.Top |
                       AnchorStyles.Bottom |
                       AnchorStyles.Left |
                       AnchorStyles.Right;

введите здесь описание изображения

введите здесь описание изображения

введите здесь описание изображения

21.09.2012
  • Я согласен с вами, за исключением того, что моя форма делает это, когда я привязываюсь ко всем 4 местоположениям и устанавливаю их местоположение: dl.dropbox.com/u/46698764/form1.PNG 21.09.2012
  • Я разрабатывал надстройку для Autodesk Inventor. Оказалось, что это ошибка размера в их приложении. Форма будет сжиматься в два раза быстрее, чем расти, тем самым ломая якорь. 22.10.2012

  • 2

    Должно быть легко.

    • Установите AutoSize на false
    • расположите групповой блок внутри панели по своему усмотрению
    • Установите для groupbox.Dock значение None
    • Установите groupbox.Anchor на верхний, нижний, левый, правый
    • groupbox теперь будет следовать за панелью. Вы можете установить для panel.Dock значение Fill, если это единственный элемент управления в форме или в соответствии с вашими требованиями.
    21.09.2012
    Новые материалы

    Основы принципов S.O.L.I.D, Javascript, Git и NoSQL
    каковы принципы S.O.L.I.D? Принципы SOLID призваны помочь разработчикам создавать надежные, удобные в сопровождении приложения. мы видим пять ключевых принципов. Принципы SOLID были разработаны..

    Как настроить Selenium в проекте Angular
    Угловой | Селен Как настроить Selenium в проекте Angular Держите свое приложение Angular и тесты Selenium в одной рабочей области и запускайте их с помощью Mocha. В этой статье мы..

    Аргументы прогрессивного улучшения почти всегда упускают суть
    В наши дни в кругах веб-разработчиков много болтают о Progressive Enhancement — PE, но на самом деле почти все аргументы с обеих сторон упускают самую фундаментальную причину, по которой PE..

    Введение в Джанго Фреймворк
    Схема «работать умно, а не усердно» В этой и последующих статьях я познакомлю вас с тем, что такое фреймворк Django и как создать свое первое приложение с помощью простых и понятных шагов, а..

    Настольный ПК как «одно кольцо, чтобы править всеми» домашних компьютеров
    Вид после 9 месяцев использования С настольных компьютеров все началось, но в какой-то момент они стали «серверами», и мы все перешли на ноутбуки. В прошлом году я столкнулся с идеей настольных..

    Расширенные методы безопасности для VueJS: реализация аутентификации без пароля
    Руководство, которое поможет вам создавать безопасные приложения в долгосрочной перспективе Безопасность приложений часто упускается из виду в процессе разработки, потому что основная..

    стройный-i18следующий
    Представляем стройную оболочку для i18next. Эта библиотека, основанная на i18next, заключает экземпляр i18next в хранилище svelte и отслеживает события i18next, такие как languageChanged,..