【问题标题】:How can I keep two Winforms labels centrally aligned?如何保持两个 Winforms 标签居中对齐?
【发布时间】:2020-05-03 12:18:14
【问题描述】:

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

运行前:

运行后:

一个标签的示例代码:

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
  • @Fixation 如果我设置AutoSize = false 里面的文字会被剪掉。

标签: c# .net winforms label text-alignment


【解决方案1】:

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

这样,标签总是会在单元格的中心对齐。

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 谢谢,这对我有帮助。还有助于将实际的代表性文本放入标签中,以便我可以在设计器中调整它们的大小。
    猜你喜欢
    • 2011-05-19
    • 2023-04-03
    • 1970-01-01
    • 2014-10-27
    • 2013-04-15
    • 2010-12-14
    • 1970-01-01
    • 2019-06-09
    • 1970-01-01
    相关资源
    最近更新 更多