How can I set the stack order for controls of an mdi form and new child forms that appear within my mdi form. The mdi controls appear on top of the child forms after they are opened. I googled this but couldn't find anything relevant to controls and mdi forms.

I can't seem to get it to work as I would like.

public MainForm()
        {
             InitializeComponent();
        }
     
        private void button1_Click(object sender, EventArgs e)
        {
            Subform1 apple = new Subform1(this);
            apple.BringToFront();
            apple.Show();
        }

When I move the child form the controls on the main form appear on top of the child.