У меня есть приложение, которое работает следующим образом: существует основная форма, которая является открытыми дочерними формами для регистрации, поиска и т. Д. Намерение всегда состоит в открытых дочерних формах в центре основной формы, независимо от его размера. Для этого я использую следующий код в виде сына OnCreate:Централизовать дочернюю форму не работает
formChild->Left=(MainForm->pnlMain->Width/2);
formChild->Top=(MainForm->pnlMain->Height/2)-(formChild->Height/2);
До сих пор все в порядке, форма центрируется правильно, как показано на следующем рисунке:
Когда дочерняя форма закрывается, основная форма восстанавливается и открывается форма сына: возникает следующая проблема:
Детальная форма генерируется в том месте, где была создана первая t время (с максимальным окном).
Просьба указать [mcve], который демонстрирует проблему. –
Вы создаете дочернюю форму каждый раз, когда приложение хочет отображать ее или используется один и тот же экземпляр, который используется снова и снова? Попробуйте поместить свой код в обработчик события OnShow дочерней формы. –
Я уже пробовал с событием OnShow. Поведение такое же. –