我正在使用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在设计器中的外观:
这是申请表:
如何解决此问题以正确显示Form2?
答案 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的大小和窗口状态。
当我运行程序时,这就是效果。
我同意这似乎是获得此效果的错误方法,并且用户控制最有可能。