开发者

Best way to make Windows Forms forms resizable

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'开发者_如何学Cd be great.


You should set the Anchor and Dock 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 to Bottom, 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 to Top | 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 set Dock to Fill.


Use the Anchor and Dock properties.

Anchor allows you to pin specific sides of the control to the sides of the parent control.

Dock will bind the whole control to a side of the parent control or it can be set to fill the contents of the parent control.

You usually just need to set the Anchor to the bottom and right of the parent control but gets more difficult when you have controls side by side, then you need to manually resize the controls on the forms OnResize event to get them to scale naturally together.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜