【发布时间】:2011-02-20 18:38:46
【问题描述】:
如何使面板居中,即使更改了表单的大小。 使用 c# windows 应用程序
【问题讨论】:
-
您希望面板随窗体一起增大和缩小吗?还是保留原来的大小?
-
@Binary Worrier,它应该是原始大小。但应该是表单的中心,具体取决于表单的大小。
如何使面板居中,即使更改了表单的大小。 使用 c# windows 应用程序
【问题讨论】:
使用设计器将面板定位在窗体的中心,然后清除Anchor 属性,使其不会锚定到任何边缘。这将在窗体调整大小时使其居中,而不是调整面板本身的大小。
如果由于某种原因,您需要在代码中定位面板(例如,取决于表单加载期间发生的事情),您可以执行以下操作:
// code for initializing the panel and setting
// its size goes here
_thePanel.Location = new Point(
this.ClientSize.Width / 2 - _thePanel.Size.Width / 2,
this.ClientSize.Height / 2 - _thePanel.Size.Height / 2);
_thePanel.Anchor = AnchorStyles.None;
我想这应该可以解决大多数情况。
【讨论】:
将其 Anchor 属性设置为 None :
this.panel1.Anchor = System.Windows.Forms.AnchorStyles.None;
【讨论】:
Private Sub Panel1_Paint(sender As Object, e As PaintEventArgs) Handles Panel1.Paint
Panel1.Location = New Point(ClientSize.Width / 2 - Panel1.Size.Width / 2, ClientSize.Height / 2 - Panel1.Size.Height / 2)
Panel1.Anchor = AnchorStyles.None
End Sub
【讨论】: