【发布时间】:2014-01-25 08:18:28
【问题描述】:
我有一个 WinForms 应用程序,我想以任何分辨率运行它,我也不想改变位置和空间 b/w 不同的控件。
这是第一种情况下的快照
但是在更改resolution 之后看起来像这样
我想根据分辨率,它的控件自动调整它们的大小以保持它们之间的空间。
【问题讨论】:
-
我认为您可以接受我的回答,因为它解决了您的问题,或者如果它没有解决,请告诉您您面临什么问题?
我有一个 WinForms 应用程序,我想以任何分辨率运行它,我也不想改变位置和空间 b/w 不同的控件。
这是第一种情况下的快照
但是在更改resolution 之后看起来像这样
我想根据分辨率,它的控件自动调整它们的大小以保持它们之间的空间。
【问题讨论】:
您可以使用控件的Anchor 或Dock 属性。
如果您不想更改控件之间的相对位置。
根据msdn:-
使用 Anchor 属性定义控件在调整其父控件大小时如何自动调整大小。将控件锚定到其父控件可确保在调整父控件大小时,锚定的边缘相对于父控件的边缘保持在相同的位置
和
使用 Dock 属性定义控件在调整其父控件大小时如何自动调整大小。例如,将 Dock 设置为 DockStyle.Left 会导致控件将自身与其父控件的左边缘对齐,并随着父控件的大小调整而调整大小。控件按其 Z 顺序停靠,这是控件沿窗体的 Z 轴(深度)在窗体上的视觉分层。 控件可以停靠到其父容器的一个边缘,也可以停靠到所有边缘并填充父容器。
为了让你的表单解析友好,你为什么不试试这个:-
this.WindowState = WindowState.Maximized
【讨论】:
转到每个控件的 Properties tab 选择 anchor 并选择您希望控件调整大小的那些灰色条:
现在,当您调整表单大小时,您会看到您的控件会自动调整大小。
【讨论】: