在C#中调整窗口大小时如何保持对象到位

时间:2012-10-19 11:03:15

标签: c# winforms resize window

如何在调整窗口大小时将窗口对象(按钮,标签等)保持在中心位置?

目前,我在Windows窗体中有3个按钮。当我最大化窗口时,按钮停留在窗口的左上部分。我希望它们在窗口未最大化时处于中心位置。

任何帮助?

4 个答案:

答案 0 :(得分:27)

您应该将对象的Anchor属性设置为 none

这将使它保持在中间位置。

答案 1 :(得分:4)

为了保持您的布局固定并在中间执行此操作:

  1. Form添加TableLayoutPanel
  2. Dock属性设置为Fill
  3. 创建3行3列。
  4. 编辑行和列 - 为第一列和最后一列设置50%。
  5. 为中间行和列设置固定大小。
  6. 在第2行和第2列中放置Panel或您喜欢的任何其他内容。它总是在中间。

答案 2 :(得分:2)

正确设置控件的Anchor属性。默认情况下,您的控件将锚定到Top,Left。如果你清除这个属性(基本上锚定为空),你的按钮将保持居中。

(看起来你可能希望锚定所有四个方面,但实际上这样做会调整你的按钮以填充表格!)

答案 3 :(得分:0)

如果您正在使用Visual Studio的可视化设计器(并且您没有理由不这样做),那么您希望管理它们如何放置在表单中的控件的属性是“Anchor”。 默认情况下,当您创建一个新控件时,它将设置为“左上角”,这意味着它们将保持在窗体左上角的固定位置。您可以更改它以将它们锚定到任何内容。

您还可以通过覆盖表单的Resize方法来禁用锚点并控制它们的位置。