Frage

Ich möchte die Höhe des Textes mit einer bestimmten Breite der verfügbaren Leinwand messen. Der Text, in dem ich vorbeikomme, ist sehr lang und ich weiß, dass er wickeln wird. Zu diesem Zweck rufe ich Folgendes an:

using System.Windows.Forms;
...
string text = "Really really long text that is sure to wrap...";
Font font = new Font("Arial", 14);
Size canvas = new Size(1100, 850);
Size size = TextRenderer.MeasureText(text, font, canvas);

Egal was ich für Leinwand übergehe, es kehrt immer 14 für zurück. size.Height.

Vermisse ich etwas Einfaches?

War es hilfreich?

Lösung

Bitte verwenden Sie die TextFormatflags Messen Sie den Parameter wie unten gezeigt:

Size size = TextRenderer.MeasureText(text, font, canvas, TextFormatFlags.WordBreak);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top