Как получить высоту элемента управления Label в Winforms - PullRequest
0 голосов
/ 22 февраля 2010

Моя метка оборачивает текст из-за длины текста. Свойство height возвращает правильное значение, только если есть одна строка. Как я могу получить правильную высоту?

Спасибо.

Решение : Я создавал ярлык динамически и проверял высоту. Позже панель, на которой находился ярлык, была добавлена ​​в форму, изменив шрифт панели, а также изменив шрифт и высоту ярлыка.

Ответы [ 3 ]

2 голосов
/ 23 февраля 2010

Самый простой способ получить предпочтительные размеры этикетки - использовать Label.GetPreferredSize(Size.Empty). Если вы хотите получить размеры, ограниченные размером, используйте тот же метод с непустым размером: Label.GetPreferredSize(constrainingSize)

1 голос
/ 23 февраля 2010

Вариант 1: Вы можете использовать Graphics.MeasureString или TextRenderer.MeasureText . Второй, вероятно, проще для ваших целей.

Вариант 2: если метка не растет должным образом по размеру всего текста, убедитесь, что для свойства AutoSize установлено значение True.

Вариант 3: использовать TextBox вместо метки. Установите для свойства ReadOnly значение true и измените задний цвет и границу в соответствии с меткой. Затем установите MultiLine = True. Это может дать вам тот же эффект, но без какой-либо ошибки, которую вы видите.

0 голосов
/ 09 июня 2010

Решение: я динамически создавал ярлык и проверял высоту. Позже панель, на которой находился ярлык, была добавлена ​​в форму, изменив шрифт панели, а также изменив шрифт и высоту ярлыка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...