Скрыть элемент управления, не оставляя пустого места - PullRequest
0 голосов
/ 07 октября 2018

У меня есть проект WinForms, основанный в основном на наборе DevExpress для Windows Forms.Я работаю над элементом управления, который выглядит следующим образом:

Image of control question is about

Я использую термин программа , чтобы различать программы обучения для людейот программа , означающая компьютерную программу.На изображении 3 ProgrammeGroup пользовательских элемента управления.Каждый из них имеет заголовок с двумя комбинациями, а под ним - пользовательский элемент управления ProgrammeDetail с подробной информацией о программе.

Когда в левом верхнем поле отображается значение Да или пусто , детали программы должны быть видны, иначе нет.Делая элемент управления ProgrammeDetail невидимым, я также устанавливаю его Height равным нулю, а внешний элемент управления ProgrammeGroup уменьшается до автоматического размера.

Однако, если я установлю комбо Да / Нет на середину ProgrammeGroup на Нет , то ProgrammeGroup сжимается, но оставляет зазор между заголовком только среднего элемента управления и нижнимконтроль.Этот пробел виден на следующем изображении:

enter image description here

Как я могу расположить мои ProgrammeGroup элементы управления таким образом, чтобы при уменьшении высоты все этиниже он перемещается вверх, что означает отсутствие пустого промежутка.Я надеюсь, что одна из множества различных панелей в наборе DevExpress WinForms может помочь мне в этом, но я нахожусь в тупике при поиске одной.

Ответы [ 2 ]

0 голосов
/ 08 октября 2018

Лучший способ настроить размеры и расположение дочерних элементов управления - это поместить их в LayoutControl .Этот элемент управления специально разработан для таких задач.Чтобы скрыть ненужные элементы / группы макетов, используйте свойство BaseLayoutItem.Visibility .

Следует также отметить, что LayoutControl является гибким и поддерживает различные режимы, включая Режим макета потока .

См. Также:

Форма настройки

0 голосов
/ 07 октября 2018

Решением этой проблемы является использование FlowLayoutPanel, которое автоматически выравнивает элементы управления внутри него рядом друг с другом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...