avc
@avc
Инженер и программист

Как вернуть исходный габарит у TableLayoutPanel?

Столкнулся с очередным глюком WinForms. Внутри моего UserControll есть панель TableLayoutPanel c докингом Fill и автоскролом. Все столбцы и строки фиксированной ширины/высоты (по Resize вычисляю какие мне нужны размеры ячеек и записываю в стили столбцов/строк). При расширении компонента панель нормально расширяется, я спокойно могу поменять размеры всех строк и столбцов под новый размер.
При сжатии обратно начинаются глюки. Последний столбец и последняя строка игнорируют любые настройки и сами себе назначают такой размер, чтоб "виртуальный" размер компонента остался максимальный, какой был за все время работы программы. "Виртальный" в смысле, что виден только по максимуму скроллера. Соответственно вылезают ненужные скроллеры и не виден текст в последних ячейках. Отключить автосскрол не могу - мне иногда в самом деле нужен вертикальный скрол.
Кто-нибудь сталкивался с таким глюком? Как сбросить это "виртуальный" габарит панели?
Назначить максимум скроллеру не получается.
Назначить ширину самому столбцу невозможно - только стилю столбца, а стиль игнорится.
Пытался удалять стили строк/столбцов - бесполезно.
Добавил лишний пустой столбец без компонентов - теперь он бесконечно расширяется, мои данные видны, но мешаются скроллеры.
.Net Framework 4.6, VS 2019
  • Вопрос задан
  • 35 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы