有没有办法在与父表单完全相同的位置打开子表单?

时间:2010-03-26 23:46:24

标签: c++ winforms

我有一个表单打开第二个表单,这个表单看起来像是替换了第一个表单,但是它向右和向下打开,这会破坏效果。 如果有办法在第一个表格的哪个地方打开它?

我在C ++中使用visual studio

3 个答案:

答案 0 :(得分:3)

将新表单的StartPosition设置为Manual,并为其指定相同的大小和位置:

  Form2^ frm = gcnew Form2;
  frm->StartPosition = FormStartPosition::Manual;
  frm->Location = this->Location;
  frm->Size = this->Size;
  frm->Show();

答案 1 :(得分:0)

您是否尝试过搞乱新表格的高度/宽度/位置?

我不确定,但我想你可以抓住原始表单的位置和大小,在创建新表单时,将它的位置和大小设置为相同的值,就在你调用“Show”之前“(或在新表格上设置可见为真)。

答案 2 :(得分:0)

“向右和向下打开”使得听起来好像您已将新窗口放在父客户区的左上角。您需要考虑边框宽度以使它们匹配。