Технология: C #, Winforms
Фон: У меня есть следующая структура контейнера (Форма, содержащая панель, которая содержит 2 панели)
Form F1
|-> Panel P1 (DockStyle.Fill)
|-> Panel P2 (DockStyle.Top)
|-> Panel P3 (DockStyle.Fill)
Я регистрируюсь на событие P3.SizeChange и в случае, если я меняю P2.Size
Проблема: Я ожидаю, что все изменения размера будут корректно отражены в графическом интерфейсе пользователя
Наблюдаемый результат: Каждый раз, когда P2.Size изменяется на основе ранее установленного размера
Что я пробовал:
- Я пытался вызвать PerformLayout и Invalidate, но все же графический интерфейс не правильно отражает изменения.
- Если я подключаю ту же функцию к F1.SizeChange, все работает нормально
- ВместоПри изменении размера, если я изменяю и возвращаю DockStyle (P3.Dock = DockStyle.None; P3.Dock = DockStyle.Fill), он портит графический интерфейс
Похоже, в библиотеке форм Iне может изменить свойство макета (размер, док и т. д.) из одноуровневого элемента управленияСобытие, связанное с макетом rol (SizeChanged)
Кто-нибудь еще сталкивался с этой проблемой и имеет обходной путь?Я использую .NET 4.0 (я думаю) из Visual Studio Express 2010
Входные данные будут высоко оценены