使winforms可调整大小的最佳方法是什么?

时间:2010-06-25 15:04:32

标签: c# winforms .net-3.5

我正在开发一个带有很多winforms的大型c#项目,即使你可以调整表单大小,表单中的元素也不会缩放。

当用户更改表单大小时,如何使表单元素(例如datagridview,文本区域等)缩放。

几乎所有表单都是从一个特定表单中继承的,所以如果我可以在基类中做些什么,那就太好了。

2 个答案:

答案 0 :(得分:15)

您应该在表单中的控件上设置AnchorDock属性。

Anchor属性控制控件的哪些边缘“绑定”或“绑定”到其窗体的相应边缘。
例如,如果将Anchor设置为Bottom,控件的下边缘与其父级底部之间的距离将不会更改,因此在调整窗体大小时控件将向下移动。
如果您将Anchor设置为Top | Bottom,则在调整表单大小时,控件将垂直调整大小。

要使用表单调整控件大小,请将Anchor设置为所有四个边,或将Dock设置为Fill

答案 1 :(得分:5)

使用 Anchor Dock 属性。

锚点允许您将控件的特定边固定到父控件的两侧。

Dock 会将整个控件绑定到父控件的一侧,也可以设置为填充父控件的内容。

您通常只需要将Anchor设置为父控件的底部和右侧,但是当您并排控制时会变得更加困难,那么您需要手动调整表单OnResize事件上的控件以使其按比例缩放自然地在一起。