4
votes

I want the MDI parent to auto-size the child form so it fits inside without scroll bars. Can someone provide some code?

I have used this to differentiate the size of the parent and the child and add it to the size of the parent so I would get a fit. But it's so manual and takes too long to make.

void MDICentertoScreen(Form z,Size addedsize)
{
        foreach (Form f in this.MdiChildren)
        {
            f.Close();
        }
        z.StartPosition = FormStartPosition.CenterScreen;
        z.MdiParent = this;

        //  this.Size = Size.Add(z.Size, addedsize);
        this.CenterToScreen();
        z.Show();
}
3

3 Answers

11
votes

Maybe this solve your problem:

form.MdiParent = this;
form.Dock=DockStyle.Fill;                
form.Show();
4
votes

Below is what I have used to solve this problem:

  1. In the constructor of the child form, you add this line of code:

this.Dock = DockStyle.Fill;

  1. In the Form_Load event, you should add this line of code:

this.WindowState = FormWindowState.Maximized;

That is, It solves my problem. Good luck!

2
votes

This is what I use:

Form form = new Form();
form.MdiParent = this;
form.Show()
form.WindowState = FormWindowState.Maximized;