假设我在Designer中有以下表单:
我想让用户能够根据需要拉伸此表单,并且无论用户如何更改此表单的大小,所有控件都应该如图所示,因此他们应该占用相同的空间并坚持使用相同的控制和边界。
如何在WinForms中执行此操作?我知道有像Docks等这样的东西,但我没有找到在这种情况下使用它们的正确方法。
答案 0 :(得分:6)
在这种情况下,您需要Anchor
属性,而不是Dock
。锚定意味着控件将始终与某些侧面(顶部,左侧,右侧和/或底部)保持相同的距离,即使这意味着必须更改尺寸;对接OTOH不关心边距,只是填补了所有可用空间。
以下是您可能想要做的事情:
将两个图像按钮固定在顶部和右侧。
将OK按钮固定在右侧和底部(我猜)。
将大ListBox
锚定到所有方面。
答案 1 :(得分:1)
对于像ListBox这样有高度限制的控件,设置锚点是不够的,你应该将它们IntegralHeight设置为假。
我建议设置Form的MinimumSize以防止用户将窗口大小调整到不合适的大小。在您的情况下将其设置为可接受的最小大小,以防止带有不可用ListBox的丑陋小表单。