Как сохранить две метки Winforms по центру? - PullRequest
0 голосов
/ 16 января 2020

Я пытаюсь держать две метки по центру, одна над другой. Перед запуском формы все выглядит отлично, но при запуске все они не выровнены.

Перед запуском: enter image description here

После запуска: enter image description here

Пример кода для одной метки:

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

Так что я хотел бы иметь значения заполнены, но по центру выровнены друг над другом.

Ответы [ 2 ]

3 голосов
/ 16 января 2020

Установите для свойства AutoSize метки значение false, а для свойства TextAlign - MiddleCenter.

1 голос
/ 16 января 2020

В качестве другого варианта вы можете использовать TableLayoutPanel, имеющий 4 столбца и 2 строки. Затем поместите метки в ячейки, установите для свойства Anchor элементов управления Label значение none и оставьте их AutoSize как true.

Таким образом, метки всегда будут выровнены по центру ячейка.

Он также позволяет использовать абсолютный, процентный или автоматический режим для столбцов.

...