Если я дам TextRenderer.MeasureText какой-нибудь текст для измерения и ширину для использования, он вернет высоту, необходимую для отображения этого текста.
private static int CalculateHeight(string text, Font font, int width)
{
Size size = TextRenderer.MeasureText(text, font, new Size(width, Int32.MaxValue), TextFormatFlags.NoClipping | TextFormatFlags.WordBreak);
return size.Height;
}
Если я передам этот текст, ширину и высоту в LinkLabel, он отобразит текст с предоставленной шириной и высотой без каких-либо обрезков.
Однако, если я помещаю ссылку в коллекцию LinkLabel.Links, LinkLabel будет рисовать текст с немного большим интервалом между символами, и иногда это приведет к обрезанию конца текста. Есть ли способ предотвратить это? Я пробовал добавлять отступы, когда есть ссылка, но нет надежного способа точно узнать, сколько еще места потребуется. Есть ли другие способы сделать это?