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