2010-03-08 10 views
5

Ich benutze diesen Code für den Text in einem Panel Zeichnung:Graphics in C# (.NET)

Graphics g = panel1.CreateGraphics(); 
g.DrawString(...); 

So möchte ich wissen, welche Größe der Eingabetext, wenn in der Platte wiedergegeben werden.

Antwort

7

Verwenden Sie g.MeasureString(), um die Breite einer Zeichenfolge im Graphikkontext zu ermitteln.

// Set up string. 
string measureString = "Measure String"; 
Font stringFont = new Font("Arial", 16); 

// Measure string. 
SizeF stringSize = new SizeF(); 
stringSize = e.Graphics.MeasureString(measureString, stringFont); 
+0

Schön, das ist neu für mich. – Finglas

+0

Ein paar Punkte, die ich aufräumen möchte: 1) = new SizeF(); ist hier unnötig; 2) Es ist eine gute Übung, Zeichensätze (und viele andere grafische Objekte) wie stringFont.Dispose() oder "using" -Anweisungen zu verwenden. – Zenya

1

Sie können auch TextRenderer.MeasureText benutzen, die ist manchmal einfacher als MeasureString zu verwenden.

+0

Aber ist nur korrekt, wenn Sie TextRenderer.DrawText verwenden – Eric