作为一个简单的演示,让我们在一个新项目中创建一个新表单,并按如下方式设计:
使用默认的2x2网格添加TableLayoutPanel
,并将其Dock
设置为Fill
。
向每个单元格添加Button
(或任何其他Control
),将每个MinimumSize
设置为100, 100
及其Dock
到Fill
也是如此。其他所有内容都保留为默认值,因此到处都有几个像素的边距。
当我运行此项并拖动缩小窗口时,按钮大小会停止缩小100像素宽和高,正如预期的那样,但我可以继续拖动该点,并且按钮会在窗口继续缩小时重叠。对于我来说,这种行为对于我来说是个意外的WinForms,并且非常不受欢迎。 我希望自动将最小尺寸限制传播给父母,这样他们就不会缩小到可以正常显示所有孩子,边距等的地方。
我能做些什么来设置它,而不是自己计算尺寸?这看起来似乎是一项艰巨的任务(因为我认为我必须考虑的不仅仅是明显的事情)。为什么这不是默认行为 - 为什么我希望它的行为与实际行为一样?