如何使两个 Winforms 标签居中对齐?

How can I keep two Winforms labels centrally aligned?

我试图让两个标签居中对齐,一个在另一个之上。在表单运行之前,一切看起来都很好,但是当 运行 它们都错位了。

之前 运行:

运行之后:

一个标签的示例代码:

Me.TemperatureLabel1.AutoSize = True
Me.TemperatureLabel1.BackColor = System.Drawing.Color.WhiteSmoke
Me.TemperatureLabel1.Font = New System.Drawing.Font("Bahnschrift", 25.0!)
Me.TemperatureLabel1.ForeColor = System.Drawing.Color.Gray
Me.TemperatureLabel1.Location = New System.Drawing.Point(278, 53)
Me.TemperatureLabel1.Name = "TemperatureLabel1"
Me.TemperatureLabel1.Size = New System.Drawing.Size(227, 41)
Me.TemperatureLabel1.TabIndex = 8
Me.TemperatureLabel1.Text = "TempLabelVal"
Me.TemperatureLabel1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter
Me.TemperatureLabel1.Visible = False

所以我想要填充值,但在彼此上方居中对齐。

将标签的 AutoSize 属性 设置为 false,并将 TextAlign 属性 设置为 MiddleCenter。

作为另一种选择,您可以使用具有 4 列和 2 行的 TableLayoutPanel。然后将标签放入单元格内,将 Label 控件的 Anchor 属性 设置为 none 并将它们的 AutoSize 设置为 true.

这样,标签将始终在单元格的中心对齐。

它还允许您为列设置绝对、百分比或自动调整大小模式。