如何在表格中间准确放置标签或按钮?

时间:2018-05-02 09:19:05

标签: c# winforms button visual-studio-2015 label

我无法找到工具或属性来将标签或按钮准确放置在表单的中间。例如,在X轴上。 VS 2015。

screenshot

2 个答案:

答案 0 :(得分:6)

设计时间:

在我的VisualStudio2010中,我将这2个按钮水平和垂直居中:

enter image description here

它位于工具栏“布局”中。如果不是,您可以通过单击右侧的小按钮添加它们。它也在格式菜单中。

运行时为中心:关闭所有锚定。

注意:这将使控件保持在相对位置,只要它不会改变它的大小。如果确实如此,就像自动调整Labels一样,您必须编写Resize事件的代码。示例是here

答案 1 :(得分:0)

对于尺寸可能有所变化的控件,您需要捕获 Resize事件

在我的情况下,我在另一个代表工作空间的面板中有一个代表页面的面板。工作区设置为自动滚动。在这种情况下,重要的是控件仅在小于容器时居中

每当表单更改大小时,我都会调用此函数:

private void resetPagePos()
{
  int wWS = pnlWorkspace.Width;
  int hWS = pnlWorkspace.Height;

  int wPage = pnlPage.Width;
  int hPage = pnlPage.Height;

  pnlPage.Location = new Point(Math.Max(0, (wWS - wPage) / 2), pnlPage.Top = Math.Max(0, (hWS - hPage) / 2));
}

使用 Math.Max(0,...)可确保如果该项目不合适,并且滚动条被激活,则我们的页面可以正确滚动。如果将“左”或“上”设置为负数,则会产生不希望有的副作用。