I am working on a largish C# project with a lot of Windows Forms forms that, even though you can resize the form, the elements in the form don't scale.
How can I make the form elements (such as the datagridview, text area's, etc.) scale when the user changes the size of the form?
Nearly all the forms subclass from one specific form, so if there's something I can do in the base class, that'd be great.
Best Answer
You should set the
Anchor
andDock
properties on the controls in the forms.The
Anchor
property controls which edges of a control are "bound" or "tied" to the corresponding edges of its form.For example, if you set
Anchor
toBottom
, the distance between the control's bottom edge and the bottom of its parent will not change, so the control will move down as you resize the form.If you set
Anchor
toTop | Bottom
, the control will resize vertically as you resize the form.To make a control resize with the form, set the
Anchor
to all four sides, or setDock
toFill
.