In WinForms you can add the controls to a TableLayoutPanel, setting the ColumnStyles for each control to either an Absolute or Percent size, so that they either stay the same size or resize as the container is resized.
More info: Walkthrough: Arranging Controls on Windows Forms Using a TableLayoutPanel
The FlowLayoutPanel control and the TableLayoutPanel control provide intuitive ways to arrange controls on your form. Both provide an automatic, configurable ability to control the relative positions of child controls contained within them, and both give you dynamic layout features at run time, so they can resize and reposition child controls as the dimensions of the parent form change. Layout panels can be nested within layout panels, to enable the realization of sophisticated user interfaces.