当窗口调整大小时,如何将窗口中的对象(按钮,标签等)保持在中心位置?当窗口在C中调整大小时如何保持对象到位#
目前,我在Windows窗体中有3个按钮。当我最大化窗口时,按钮将停留在窗口的左上部分。我希望他们像窗户未被最大化时一样处于中心位置。
任何帮助?
当窗口调整大小时,如何将窗口中的对象(按钮,标签等)保持在中心位置?当窗口在C中调整大小时如何保持对象到位#
目前,我在Windows窗体中有3个按钮。当我最大化窗口时,按钮将停留在窗口的左上部分。我希望他们像窗户未被最大化时一样处于中心位置。
任何帮助?
应设置对象的锚属性没有,
这将保持在中间。
做到了。谢谢 ! :) –
如果您使用的是Visual Studio的可视化设计器(并且您没有理由不这样做),那么您试图管理它们如何放置在窗体内的控件的属性是“锚定”。 默认情况下,当您创建新控件时,它将设置为“左上角”,这意味着它们将保持在表单左上角的固定位置。你可以改变它以将它们锚定到任何东西上。
您还可以通过重写窗体的Resize方法来禁用锚点并控制它们的位置。
正确设置控件的Anchor
属性。默认情况下,您的控件的锚定为Top,Left
。如果清除此属性(实质上锚定为无),则按钮将保持居中。
(它可能看起来像要锚定到的四条边,但实际上这是什么会做的是调整你的按钮,填写表格!)
我做到了。谢谢。但它不会调整按钮的大小。当我最大化窗口时,按钮的大小与以前相同。有没有任何方法的按钮也增加他们的大小相同的比例? –
如果您将'Anchor'设置为'Top,Left,Bottom,Right',那么当您调整窗体大小时,按钮将调整大小,但它不会与窗体保持相同*比例*(即,它将调整大小与表单相同数量的像素)。如果您想将按钮的大小保持为表单大小的固定百分比,则需要手动编码。 –
为了使您的布局固定,并在中间做:
Form
上添加TableLayoutPanel
。Dock
财产至Fill
。Panel
或其他任何您喜欢的东西放在第2行和第2列。它将永远在中间。
如果不需要,您可以禁用'最大化'选项... :) –