簡単なレイアウトならば、Anchor, Dock プロパティで事足ります。複雑なものは、Layout イベントなどで自前の動的レイアウト ロジックを組みます。
上記は例です。
ちゃんとレイアウトが保持されるように作ることは無理です。
グリッドだったりいろんなコントロールをぎりぎりまで詰め込んだ画面だと、どこかしら崩れます。