The best option is to use a TableLayoutPanel
. Put TableLayoutPanel
on the form, set the Dock
property to Fill
, create required rows and columns and put the controls inside the cells. Of course you need to set Dock/Anchor
on the controls inside the cells, so they respond to changes to the cell size. In some situations you may need to put a Panel
into a cell and drop the controls inside it, because every cell can only contain a single control. You may also need to set RowSpan
/ColumnSpan
on the controls.
By using a TableLayoutPanel
, you have complete control over how your cotrols should be arranged. You can set absolute or percentage size for rows and columns.