我正在制作一个简单的WinForms程序。
我想将组件的大小链接到Window的大小。
比方说,用户可以通过拖动边框来扩大或缩小Window:我希望当Window运行时组件会变大,反之亦然。
让我们假装我们在窗口的中心并排有两个按钮:我要使它们的大小相同,以填充窗口的整个宽度。
我该怎么做?
答案 0 :(得分:3)
使用TableLayoutPanel和2个按钮的采样过程:
50%
和1行),它们设置为 Autosize
。 Location.X
设置为0
,并将其宽度调整为Form的宽度。 Anchor
属性设置为 Left
和 Right
DockStyle.Fill
Margin
属性(仍同时选中这两个按钮,因此将相同的设置应用于这两个按钮)以修改控件之间的空间MinimumSize
,以避免这种情况,在调整表单大小时,控件是缩小到无法识别的程度,破坏了整体布局:在设计器中将窗体的大小调整到某个程度,使托管控件的布局受到损害,找到合适的最小尺寸并将此度量用作窗体的 MinimumSize
属性。只能使用MinimumSize
或X
度量(例如Y
)来设置(100, 0)
。这限制了表单的Width
,但没有限制Height
。或相反,当然。如果在拖动TableLayoutPanel内的按钮时,按钮 不会自动插入到单元格的左上角位置 而是将它们显示在随机位置,然后 TableLayoutPanel具有 gone流氓,需要放下。删除它 并在表单上放置另一个。冲洗并重复。
如果您稍微改动一下布局,则可能会发生这种情况。比尝试纠正问题更好的重新开始。