В WinForms
Я использую Label
для отображения различных сообщений , как успех, неудача и т.д.
Я хотел бы расположить этот ярлык по центру. Мне нужно решение, которое будет держать его в центре, будь то одно слово или целое предложение на этикетке.
Set Label
«s AutoSize
свойство False
, TextAlign
свойство MiddleCenter
и Dock
свойство Fill
.
Control.Dock
свойства ( msdn.microsoft.com/en-us/library/… ) вы можете прикрепить ( привязать ) элемент управления к определенной стороне контейнера. Так , напримерLeft
,Top
,Right
илиBottom
.Fill
говорит элементу управления занять все доступное пространство в контейнере.Dock
настройками.Dock
установка была ненужной. ИзменениеAutoSize
свойства дает метке ограничивающую рамку, размер которой можно вручную настроить.Небольшой дополнительный контент для настройки программно:
Dockstyle и Content выравнивание могут отличаться от ваших потребностей. Например, для простой метки в форме wpf я использую DockStyle.None.
источник
Вы достигнете этого, установив свойство Anchor: None.
источник
Если вы не хотите закреплять метку во всей доступной области, просто установите событие SizeChanged вместо TextChanged. Изменение каждой буквы приведет к изменению свойства ширины метки и ее текста, если для свойства autosize установлено значение True. Таким образом, кстати, вы можете использовать любую формулу, чтобы держать ярлык в центре формы.
источник
Принятый ответ не работал для меня по двум причинам:
BackColor
установил такую настройкуAutoSize = false
иDock = Fill
заставил цвет фона заполнить всю формуAutoSize
любом случае я не мог установить значение false, потому что текст моей метки был динамическимВместо этого я просто использовал ширину формы и ширину метки, чтобы вычислить левое смещение:
источник
Я хотел сделать что-то подобное, но в форме с фоновым изображением я обнаружил, что при изменении текста в метке перерисовки были очевидны при использовании этого метода, поэтому я сделал следующее: * Установите для метки AutoSize значение true и для TextAlign значение MiddleCenter
Затем каждый раз, когда текст менялся (мой был сделан с использованием таймера), я вызывал следующий метод:
И установите свойство Location метки в это возвращаемое значение. Это гарантировало, что метка всегда была в центре формы, когда текст изменялся, и перерисовки для полноэкранной формы не были очевидны.
источник
Вы можете попробовать следующий фрагмент кода:
Это действительно центр
источник