Выравнивание текста по центру для надписей

#winforms #c#-4.0

#winforms #c #-4.0

Вопрос:

У меня есть метка точно в центре формы с текстом «Это мое приложение Visual Studio». Теперь у меня есть событие нажатия кнопки, которое изменяет текст на «Мое приложение». Но проблема в том, что выравнивание нарушается, поскольку длина измененного текста отличается от предыдущей. Я попробовал вариант выравнивания текста метки по центру. но не повезло. Может ли кто-нибудь помочь?

Ответ №1:

Вы можете сделать даже лучше: отключите автоматический размер надписи и вручную растяните надпись в конструкторе, чтобы заполнить область, необходимую для отображения наибольшего текстового значения. Теперь, если вы установите для TextAlign значение MiddleCenter, вы получите желаемый эффект (даже в конструкторе, так что вы можете проверить это, установив значение в свойстве Text).

Ответ №2:

Вам также нужно будет установить ширину надписи на длину вашего самого длинного текста или просто на ширину формы.

Комментарии:

1. и, очевидно, автоматическое значение false перед этим. Большое спасибо.

Ответ №3:

Вам нужно установить для автоматического изменения размера метки значение true, поместить эту метку во фрейм (или ячейку таблицы) и присвоить свойствам привязки значение none. Таким образом, он всегда будет центрироваться.

Комментарии:

1. Но будет ли это хорошим решением, у меня есть несколько ярлыков в разных местах с разным свойством выравнивания, и разместить их на каждой панели будет немного сложно. Ну, я уже знаю этот метод, но ищу лучшее решение. Все еще большое спасибо

2. Итак, в чем именно ваша проблема? если не центрировать метку, можете ли вы объяснить это подробнее? другие решения могут включать вычисление длины метки и перемещение ее в соответствии с новой шириной.