Есть ли способ открыть дочернюю форму точно в том же месте, что и родительская форма? - PullRequest
2 голосов
/ 27 марта 2010

У меня есть одна форма, открывающая вторую форму, которая должна выглядеть так, как будто она заменила первую форму, но она открывается немного вправо и вниз, что разрушает эффект. Если есть способ сделать его открытым, где бы ни находилась первая форма?

Я использую Visual Studio, в C ++

Ответы [ 3 ]

3 голосов
/ 27 марта 2010

Установите для StartPosition новой формы значение Manual и присвойте ему тот же размер и расположение:

  Form2^ frm = gcnew Form2;
  frm->StartPosition = FormStartPosition::Manual;
  frm->Location = this->Location;
  frm->Size = this->Size;
  frm->Show();
0 голосов
/ 27 марта 2010

«Открытие немного вправо и вниз» звучит так, как будто вы поместили новое окно в верхний левый угол клиентской области родителя. Вам нужно принять во внимание ширину границы, чтобы они совпали.

0 голосов
/ 27 марта 2010

Вы пробовали возиться с высотой / шириной / расположением новой формы?

Не знаю точно, но я представляю, что вы можете получить местоположение и размер исходной формы, и при создании новой формы установите для ее местоположения и размера те же значения непосредственно перед вызовом «Показать "(или установите Visible в true) в новой Форме.

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