最大化时Windows窗体中的东西移动 - C#

时间:2008-09-30 18:14:07

标签: c# windows user-interface

我已经编程了一个GUI程序已经有一段时间了,所以这可能最终变得非常简单,但我无法在网上找到解决方案。

基本上我的问题是,当我最大化我的程序时,窗口内的所有东西(按钮,文本框等)都保持在窗口中的相同位置,这导致靠近底部和右边的大空白区域侧。

有没有办法让程序中的元素按比例拉伸?

5 个答案:

答案 0 :(得分:12)

您想检查并正确设置表单中每个控件的Anchor和Dock属性。控件上的Anchor属性告诉控件的哪一侧(顶部,底部,左侧,右侧)被“锚定”到。调整窗体大小时,控件与其锚点之间的距离将保持不变。例如,这可以使控件保持在右下角。

Dock属性指示控件填充整个父窗体或填充它的一面(再次是顶部,底部,左侧或右侧)。

答案 1 :(得分:4)

Anchor和Dock属性

答案 2 :(得分:0)

查看http://msdn.microsoft.com/en-us/library/aa289756(VS.71).aspx

处的动态布局:锚定和停靠示例

它在VB中,但你需要的概念和方法/方法在C#中是相同的。

答案 3 :(得分:0)

有一些布局面板控件可以帮助您在表单扩展/收缩时保持比例:

TableLayoutPanel中
FlowLayoutPanel的

答案 4 :(得分:0)

  

关于布局,我不太清楚你的意思,但我使用的是Visual Studio 2008的默认GUI编辑器。

您可以在表单上粘贴一些特殊的“容器”类型面板,例如FlowLayoutPanelTableLayoutPanel。这些类型的容器具有额外的布局行为。

如果在调整大小期间发现某些控件仍然不想表现,则使用控件的右键单击上下文菜单列出控件祖先:其父级,父级的父级等。您可能会发现麻烦的控制是一个特殊容器的孩子,它有自己的布局规则。