Изменить размер текста метки, когда текст становится длиннее, чем размер метки?

У меня есть метка, которая показывает имя файла .. Мне пришлось установить AutoSize метки на False для проектирования.
Итак, когда текст имени файла стал длиннее, чем размер ярлыка ... он обрезался, как на картинке.

enter image description here

label1.Size = new Size(200, 32);
label1.AutoSize = false;

Как автоматически изменить размер текста, чтобы он соответствовал размеру этикетки, если текст длиннее, чем размер этикетки?

21
задан Murhaf Sousli 17 September 2019 в 14:02
поделиться

1 ответ

Я использую следующий прием взвешенного масштабирования, чтобы обеспечить хорошее соответствие, то есть взвешенный компромисс сделан между подгонкой высоты и подгонкой ширины. Это в VB .net, но я думаю, что вы можете легко перевести на C #.

Function shrinkFontToFit(f As Font, text As String, requiredsize As SizeF) As Font
    Dim actualsize As SizeF = TextRenderer.MeasureText(text, f)
    Return New Font(f.FontFamily, f.Size * (requiredsize.Width + requiredsize.Height ) _
        / (actualsize.Width + actualsize.Height), f.Style, GraphicsUnit.Pixel)
End Function
0
ответ дан 29 November 2019 в 20:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: