TextRenderer.MeasureText-Methode (String, Font, Size)
Aktualisiert: November 2007
Gibt die Größe des angegebenen Texts in Pixel an, wenn dieser mit der angegebenen Schriftart gezeichnet wird und dabei mithilfe der angegebenen Größe ein anfängliches umgebendes Rechteck erstellt wird.
Assembly: System.Windows.Forms (in System.Windows.Forms.dll)
public static function MeasureText( text : String, font : Font, proposedSize : Size ) : Size
Parameter
- text
- Typ: System.String
Der zu bemessende Text.
- font
- Typ: System.Drawing.Font
Der Font, der auf den bemessenen Text angewendet werden soll.
- proposedSize
- Typ: System.Drawing.Size
Die Size des anfänglichen umgebenden Rechtecks.
Rückgabewert
Typ: System.Drawing.SizeDie Size des mit dem angegebenen font gezeichneten text in Pixel.
Die MeasureText-Methode gibt mithilfe des proposedSize-Parameters beim Bestimmen der Textgröße das Verhältnis von Höhe zu Breite an. Wenn beim Bemessen des Texts in einer einzelnen Zeile der proposedSize-Parameter eine Size darstellt, bei der eine Höhenabmessung größer als Int32.MaxValue ist, wird die zurückgegebene Size so angepasst, dass sie die tatsächliche Texthöhe wiedergibt.
Im folgenden Codebeispiel wird die Verwendung einer der MeasureText-Methoden veranschaulicht. Fügen Sie zum Ausführen des Beispiels den Code in ein Windows Form ein, und rufen Sie DrawALineOfText im Paint-Ereignishandler des Formulars auf, wobei Sie e als PaintEventArgs übergeben.
private static void DrawALineOfText(PaintEventArgs e) { // Declare strings to render on the form. string[] stringsToPaint = { "Tail", "Spin", " Toys" }; // Declare fonts for rendering the strings. Font[] fonts = { new Font("Arial", 14, FontStyle.Regular), new Font("Arial", 14, FontStyle.Italic), new Font("Arial", 14, FontStyle.Regular) }; Point startPoint = new Point(10, 10); // Set TextFormatFlags to no padding so strings are drawn together. TextFormatFlags flags = TextFormatFlags.NoPadding; // Declare a proposed size with dimensions set to the maximum integer value. Size proposedSize = new Size(int.MaxValue, int.MaxValue); // Measure each string with its font and NoPadding value and // draw it to the form. for (int i = 0; i < stringsToPaint.Length; i++) { Size size = TextRenderer.MeasureText(e.Graphics, stringsToPaint[i], fonts[i], proposedSize, flags); Rectangle rect = new Rectangle(startPoint, size); TextRenderer.DrawText(e.Graphics, stringsToPaint[i], fonts[i], startPoint, Color.Black, flags); startPoint.X += size.Width; } }
Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98
.NET Framework und .NET Compact Framework unterstützen nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.