2011-04-29 121 views
1

我是新来的Visual Studio中的Windows窗体,我想知道如何自动调整控件的窗口大小。如何使窗口中的多个控件自动调整窗口大小?

说,我有一个面板,一个列表框和一个按钮的2个控件。我想让按钮停靠在底部,我希望列表框能够适应剩下的空间。当窗口调整大小时,按钮应该位于底部(按照预期的停靠位置),并且列表框应向下延伸至按钮。

有没有办法做到这一点没有任何代码?

谢谢。

回答

2

Dock很容易使用,但我建议使用Anchor属性代替。在设计器中将表单调整为合理的大小。然后,将你的控件放到你想要的方式。然后,决定使用表单调整哪些控件的大小,并设置锚点属性,如下所示:

  • 如果您希望控件使用宽度中的表单调整大小,请设置右侧的锚点。
  • 如果要调整高度,请设置底部锚。
  • 如果您希望控件在窗体大小调整时保持不变,请取消设置左侧定位点。
  • 如果您希望控件在窗体大小调整时保持底部,请取消设置顶部定位点。

我在码头上遇到的问题是,当控件没有按照特定的顺序声明时,它们有时会很有趣,并且要获得所需的效果,有时您必须创建无关的面板才能容纳控件。

+0

非常漂亮!谢谢! – sFuller 2011-04-29 05:22:54

1

使用控件上的停靠栏和填充选项。查看每个对象的属性,以及容器(如果它们在任何位置)。

+0

我设置列表框填写,按钮上下。 ListBox填充容器,除了它在按钮下面。 – sFuller 2011-04-29 04:55:21

+0

您可能需要将按钮停靠在列表框的底部。尝试不同的码头设置,看看工作如何,或者看看这里:http:// www。techrepublic.com/article/manage-winform-controls-using-the-anchor-and-dock-properties/6165908 – Mikecito 2011-04-29 05:02:05

0

尝试将您的ListBox的Dock属性设置为Fill。

虽然您需要注意一件事:默认情况下,ListBox将自行调整大小以显示整个列表项。如果您调整控件大小以显示部分项目,它将自行调整,以显示完整的项目。这可能会使控件看起来失去其“停靠”行为。解决方法是将列表框的IntegralHeight property设置为false,它指定控件不调整其自身以适合完整的项目。

+0

感谢您的提示! 不幸的是,列表框仍然出现在按钮下方。我已将按钮对接设置为按钮,但仍然出现在列表框的顶部。 – sFuller 2011-04-29 05:07:14

+0

@sFuller - 啊。右键单击列表框并选择“置于前面”。不要忘记设置IntegralHeight = false。 – 2011-04-29 05:13:50

1

当你想保持每个控件的宽高比时,它确实会变得混乱。一种方式,如果你想进入固定的细节是不是真的达到标准,就是用TableLayoutPanel和使用DockAnchor明智达到你想要的东西。

enter image description here