I want do something like that with MDI but I don't have any idea how. Now I have only childs on cascade mode.
Im back from christmas, from my hometown and start work every day. :)
I necessarily need SuspendLayout and ISupportIntialize?
I dont uderstend how to use SuspendLayout and ISupportIntialize or FixedPanel. So i do this :)
https://i.stack.imgur.com/Wltvd.png
For auto check between 1/2/3/4 panel display mode i try use [select case].
public partial class MainForm : Form
{
Child1Form1 Test1 = new Child1Form1();
Child1Form2 Test2 = new Child1Form2();
Child1Form3 Test3 = new Child1Form3();
Child1Form4 Test4 = new Child1Form4();
public MainForm()
{
InitializeComponent();
this.AutoSizeMode = AutoSizeMode.GrowAndShrink;
this.SizeGripStyle = SizeGripStyle.Show;
//
// splitContainer1
//
//this.splitContainer1.Dock = DockStyle.Fill;
this.splitContainer1.FixedPanel = FixedPanel.Panel1;
this.splitContainer1.FixedPanel = FixedPanel.Panel2;
this.splitContainer1.Panel1.Controls.Add(splitContainer2);
this.splitContainer1.Panel2.Controls.Add(splitContainer3);
//
// splitContainer2
//
//this.splitContainer2.Dock = DockStyle.Fill;
this.splitContainer2.FixedPanel = FixedPanel.Panel1;
this.splitContainer2.FixedPanel = FixedPanel.Panel2;
this.splitContainer2.Panel1.Controls.Add(Test1);
this.splitContainer2.Panel2.Controls.Add(Test2);
//
// splitContainer3
//
//splitContainer3.Dock = DockStyle.Fill;
this.splitContainer3.Panel1.Controls.Add(Test3);
this.splitContainer3.Panel2.Controls.Add(Test4);
this.Test1.Dock = DockStyle.Fill;
this.Test2.Dock = DockStyle.Fill;
this.Test3.Dock = DockStyle.Fill;
this.Test4.Dock = DockStyle.Fill;
}
private void Form1_Load(object sender, EventArgs e)
{
this.Test1.Show();
this.Test2.Show();
this.Test3.Show();
this.Test4.Show();
}
private void splitContainer1_Resize(object sender, EventArgs e)
{
this.Test1.Dock = DockStyle.Fill;
this.Test2.Dock = DockStyle.Fill;
this.Test3.Dock = DockStyle.Fill;
this.Test4.Dock = DockStyle.Fill;
}

One way to do it: In the case of ChildForm1-4, add one
SplitContainerto the form, then add twoSplitContainers in each of the panels of the first split container and setOrientationtoHorizontal. YourInitializeComponentmethod should look something like this when the Designer is done:In the case of ChildForm1-3, add one
SplitContainerto the form and setOrientationtoHorizontalthen add anotherSplitContainerto the top panel and leave theOrientationasVertical. YourInitializeComponentmethod should look something like this when the Designer is done: