如何制作面板中心?

问题描述 投票:20回答:3

即使表单的大小发生变化,如何制作面板中心。使用c#windows应用程序

c# winforms
3个回答
37
投票

使用设计器将面板放置在窗体的中心,然后清除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;

我想,这应该照顾大多数情景。


4
投票

将其Anchor属性设置为None:

this.panel1.Anchor = System.Windows.Forms.AnchorStyles.None;

1
投票
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
© www.soinside.com 2019 - 2024. All rights reserved.