Setting
Dock
to fill would mean that the child control will fill the parent completely. Now in your case, you are looking for a square panel. To achieve this, in the Form's resize event handler, ensure that you are making the panel a square. Something like this:
void Form1_Resize(object sender, EventArgs e)
{
panel1.Height = panel1.Width;
}
You might want to put in some logic as to which side should be retained, height or width. Note that this may result in some flickering.