如何在WinForms

时间:2015-08-29 14:24:19

标签: c# winforms user-interface

假设我在Designer中有以下表单:

enter image description here

我想让用户能够根据需要拉伸此表单,并且无论用户如何更改此表单的大小,所有控件都应该如图所示,因此他们应该占用相同的空间并坚持使用相同的控制和边界。

如何在WinForms中执行此操作?我知道有像Docks等这样的东西,但我没有找到在这种情况下使用它们的正确方法。

2 个答案:

答案 0 :(得分:6)

在这种情况下,您需要Anchor属性,而不是Dock。锚定意味着控件将始终与某些侧面(顶部,左侧,右侧和/或底部)保持相同的距离,即使这意味着必须更改尺寸;对接OTOH不关心边距,只是填补了所有可用空间。

以下是您可能想要做的事情:

  • 将两个图像按钮固定在顶部和右侧。

  • 将OK按钮固定在右侧和底部(我猜)。

  • 将大ListBox锚定到所有方面。

答案 1 :(得分:1)

仅在good answer of stakx

上添加一些注释
  1. 对于像ListBox这样有高度限制的控件,设置锚点是不够的,你应该将它们IntegralHeight设置为假。

  2. 我建议设置Form的MinimumSize以防止用户将窗口大小调整到不合适的大小。在您的情况下将其设置为可接受的最小大小,以防止带有不可用ListBox的丑陋小表单。