#winforms #c#-4.0
#winforms #c #-4.0
Вопрос:
У меня есть метка точно в центре формы с текстом «Это мое приложение Visual Studio». Теперь у меня есть событие нажатия кнопки, которое изменяет текст на «Мое приложение». Но проблема в том, что выравнивание нарушается, поскольку длина измененного текста отличается от предыдущей. Я попробовал вариант выравнивания текста метки по центру. но не повезло. Может ли кто-нибудь помочь?
Ответ №1:
Вы можете сделать даже лучше: отключите автоматический размер надписи и вручную растяните надпись в конструкторе, чтобы заполнить область, необходимую для отображения наибольшего текстового значения. Теперь, если вы установите для TextAlign значение MiddleCenter, вы получите желаемый эффект (даже в конструкторе, так что вы можете проверить это, установив значение в свойстве Text).
Ответ №2:
Вам также нужно будет установить ширину надписи на длину вашего самого длинного текста или просто на ширину формы.
Комментарии:
1. и, очевидно, автоматическое значение false перед этим. Большое спасибо.
Ответ №3:
Вам нужно установить для автоматического изменения размера метки значение true, поместить эту метку во фрейм (или ячейку таблицы) и присвоить свойствам привязки значение none. Таким образом, он всегда будет центрироваться.
Комментарии:
1. Но будет ли это хорошим решением, у меня есть несколько ярлыков в разных местах с разным свойством выравнивания, и разместить их на каждой панели будет немного сложно. Ну, я уже знаю этот метод, но ищу лучшее решение. Все еще большое спасибо
2. Итак, в чем именно ваша проблема? если не центрировать метку, можете ли вы объяснить это подробнее? другие решения могут включать вычисление длины метки и перемещение ее в соответствии с новой шириной.