【问题标题】:How to make a panel center of form?如何制作面板中心?
【发布时间】:2011-02-20 18:38:46
【问题描述】:

如何使面板居中,即使更改了表单的大小。 使用 c# windows 应用程序

【问题讨论】:

  • 您希望面板随窗体一起增大和缩小吗?还是保留原来的大小?
  • @Binary Worrier,它应该是原始大小。但应该是表单的中心,具体取决于表单的大小。

标签: c# winforms


【解决方案1】:

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

我想这应该可以解决大多数情况。

【讨论】:

  • 我的面板中有很多控件。此应用程序将在分辨率不同的许多系统中运行。因此,在这种情况下,面板的位置对于不同的系统是不同的。
  • 太棒了!我不知道你可以完全移除锚。
【解决方案2】:

将其 Anchor 属性设置为 None :

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

【讨论】:

    【解决方案3】:
    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
    

    【讨论】:

    • 请注意,不鼓励仅使用代码回答。总是围绕它提供一些解释!
    猜你喜欢
    • 2013-12-05
    • 2011-10-10
    • 1970-01-01
    • 2011-05-10
    • 1970-01-01
    • 1970-01-01
    • 2019-06-09
    • 2022-12-11
    • 2020-03-13
    相关资源
    最近更新 更多