【发布时间】:2018-10-12 08:30:03
【问题描述】:
【问题讨论】:
-
使用IDE还是使用代码?
-
@**Casiosmu**,你指引我正确的方向。在 VS2015 中 --> 格式 --> 表格居中 -> 垂直/水平。附言什么是歪曲的论坛引擎!很难知道谁、何时何地回答了你。(((
标签: c# winforms button visual-studio-2015 label
【问题讨论】:
标签: c# winforms button visual-studio-2015 label
设计时间:
在我的 VisualStudio2010 中,我有这 2 个按钮可以水平和垂直居中:
它位于工具栏“布局”中。如果不是,您可以通过单击右侧的小按钮来添加它们。它也在“格式”菜单中。
要以运行时为中心:关闭所有锚定。
注意:这将使控件保持在其相对位置,只要它不改变它的大小。如果确实如此,就像自动调整大小 Labels 一样,您将不得不编写 Resize 事件。例如here
【讨论】:
对于大小可能发生变化的控件,您需要捕获 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, ...) 的使用确保如果项目不适合,并且滚动条被激活,那么我们的页面可以正确滚动。如果将 Left 或 Top 设置为负数,则会产生不必要的副作用。
【讨论】: