Just to point out the mistake in your code
private void addbutton_Click(object sender, EventArgs e)
{
Form2 newMDIChild = new Form2();
newMDIChild.MdiParent = this.MdiParent;
newMDIChild.Show();
this.Hide();
}
Otherwise, follow OriginalGriff's advise.