我正在开发一个带有很多winforms的大型c#项目,即使你可以调整表单大小,表单中的元素也不会缩放。
当用户更改表单大小时,如何使表单元素(例如datagridview,文本区域等)缩放。
几乎所有表单都是从一个特定表单中继承的,所以如果我可以在基类中做些什么,那就太好了。
答案 0 :(得分:15)
您应该在表单中的控件上设置Anchor
和Dock
属性。
Anchor
属性控制控件的哪些边缘“绑定”或“绑定”到其窗体的相应边缘。
例如,如果将Anchor
设置为Bottom
,控件的下边缘与其父级底部之间的距离将不会更改,因此在调整窗体大小时控件将向下移动。
如果您将Anchor
设置为Top | Bottom
,则在调整表单大小时,控件将垂直调整大小。
要使用表单调整控件大小,请将Anchor
设置为所有四个边,或将Dock
设置为Fill
。
答案 1 :(得分:5)
使用 Anchor 和 Dock 属性。
锚点允许您将控件的特定边固定到父控件的两侧。
Dock 会将整个控件绑定到父控件的一侧,也可以设置为填充父控件的内容。
您通常只需要将Anchor设置为父控件的底部和右侧,但是当您并排控制时会变得更加困难,那么您需要手动调整表单OnResize事件上的控件以使其按比例缩放自然地在一起。