Wenn ich TextRenderer.MeasureText Text zu messen und die Breite zu geben geben Sie die Höhe zurück, die benötigt wird, um diesen Text anzuzeigen.LinkLabel benötigt mehr Platz als TextRenderer.MeasureText sagt
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;
}
Wenn ich diesen Text, Breite und Höhe zu einem Linklabel geben würde es den Text in der Breite und Höhe mit nichts abgeschnitten versehen anzuzeigen.
Wenn ich jedoch einen Link in die LinkLabel.Links-Sammlung lege, wird der LinkLabel den Text mit etwas mehr Abstand zwischen den Zeichen zeichnen, was manchmal dazu führt, dass das Ende des Textes abgeschnitten wird . Gibt es das überhaupt, um das zu verhindern? Ich habe versucht, Padding hinzuzufügen, wenn es einen Link gibt, aber es gibt keine zuverlässige Möglichkeit, genau zu wissen, wie viel mehr Speicherplatz benötigt wird. Gibt es andere Möglichkeiten, dies zu tun?
Wenn die Korrektur eine korrekte Messung erfordert und dann immer noch das LinkLabel-Steuerelement verwendet, scheint es, als ob entweder MeasureText oder DrawTextEx darauf aufmerksam gemacht werden müssten Der Text wird als Link angezeigt, aber keiner hat so etwas. Wie ich in der Frage gesagt habe, funktioniert MeasureText gut, wenn der Text nur als reiner Text angezeigt wird. –
Haben Sie AutoSize für LinkLabel aktiviert? –
Nein, ich tue nicht ... –