FormBorderStyle = None的MDI子项未正确最大化

时间:2015-12-07 15:03:26

标签: c# windows forms winforms

我正在使用Windows Forms编写应用程序。我需要使用FormBorderStyle设置为None的MDI子项。问题是,当我最大化时,孩子没有正确显示。显示Form2的代码是:

  this.WindowState = FormWindowState.Maximized;
  Form2 frm = new Form2();
  frm.MdiParent = this;
  frm.Size = this.ClientSize;
  frm.ShowInTaskbar = false;
  frm.WindowState = FormWindowState.Maximized;
  frm.Show();

以下是Form2在设计器中的外观:

enter image description here

这是申请表:

enter image description here

如何解决此问题以正确显示Form2?

1 个答案:

答案 0 :(得分:1)

您可以尝试以下代码。它似乎可以满足您的需求。

        this.WindowState = FormWindowState.Maximized;
        Form2 frm = new Form2();
        frm.MdiParent = this;
        frm.Dock = DockStyle.Fill;
        //frm.Size = this.ClientSize;
        frm.ShowInTaskbar = false;
        //frm.WindowState = FormWindowState.Maximized;

        frm.Show();

唯一的变化是添加了frm.Dock = DockStyle.Fill;并注释掉了设置Form2的大小和窗口状态。

当我运行程序时,这就是效果。

enter image description here

我同意这似乎是获得此效果的错误方法,并且用户控制最有可能。