Этот действительно бьет меня по спине.У меня есть форма, созданная и принадлежащая основной форме приложения, которая используется для поиска записей.Форма размещена в закрепленной TableLayoutPanel с комбинацией строк / столбцов абсолютного размера и размера в процентах, так что мои метки остаются одинакового размера при увеличении элементов управления вводом данных и результатами.Мы говорим о 20 элементах управления.
Проблема заключается в том, что, хотя TableLayoutPanel залита заливкой, а все дочерние элементы управления также залиты заливкой, ничто не изменяется в форме, когда я беру окнокрай и перетащите.В дизайнере все отлично меняется, но не в самом приложении.
Я использовал Google-fu и нашел этот ТАК вопрос , который указал мне на эту статью в MSKB.Я создал производный FlowLayoutPanel и производный TableLayoutPanel с многопоточными вызовами и вставил их, но он все еще не работает.Это ЕДИНСТВЕННАЯ форма, в которой это происходит, и другая форма также имеет довольно глубокое вложение (она использует TabControl и TableLayoutPanel для разметки элементов управления вводом данных, но не RB).
Другая важная информация:
- Не заданы свойства MaxSize.
- Ничто не привязано в этой форме, за исключением верхнего-левого по умолчанию;почти все залито в контейнер.Однако дочерний пользовательский элемент управления, содержащий таблицу результатов поиска, размещается внутри с помощью привязки;это не было проблемой в другой форме, в которой я использую эти элементы управления, где я заполнил их стыковкой с SplitPanels (две вложенные, не менее).
- RadioButtons и Labels установлены на AutoSize, но больше ничего нет.Похоже, что это поведение по умолчанию для этих элементов управления, даже если значения выделены жирным шрифтом в Designer и соответствуют настройкам других окон, которые правильно изменяют размер.
- События изменения размера запускаются для формы, но не для TLP.
- Поведение не меняется, когда TLP привязывается к окну INSTEAD, когда его пристыковывают (это никогда не бывает одновременно).
Я тут рву волосы.Справка!
Редактировать : Вот некоторые из запрошенных изображений, показывающих поведение макета в конструкторе и в приложении:
Элементы управления, начинающиеся с «Nested», наследуются непосредственно от встроенных элементов управления панели, и их единственным изменением является переопределение OnSizeChanged () для асинхронного вызова базового метода (обходной путь из статьи базы знаний)).Он не работает и со встроенными панелями, как я уже говорил.Как видно из двух последних окон, TLP mainLayout просто не растет, даже если он прикреплен к окну в конструкторе.