TextRenderer.MeasureText TextRenderer.MeasureText TextRenderer.MeasureText Method

Definition

Misst den angegebenen Text, wenn dieser in der angegebenen Schriftart gezeichnet wird.Measures the specified text when drawn with the specified font.

Überlädt

MeasureText(String, Font) MeasureText(String, Font) MeasureText(String, Font)

Gibt die Größe des angegebenen Texts in Pixel an, wenn dieser in der angegebenen Schriftart gezeichnet wird.Provides the size, in pixels, of the specified text when drawn with the specified font.

MeasureText(IDeviceContext, String, Font) MeasureText(IDeviceContext, String, Font) MeasureText(IDeviceContext, String, Font)

Gibt die Größe des angegebenen Texts in Pixel an, wenn dieser in der angegebenen Schriftart im angegebenen Gerätekontext gezeichnet wird.Provides the size, in pixels, of the specified text drawn with the specified font in the specified device context.

MeasureText(String, Font, Size) MeasureText(String, Font, Size) MeasureText(String, Font, Size)

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.Provides the size, in pixels, of the specified text when drawn with the specified font, using the specified size to create an initial bounding rectangle.

MeasureText(IDeviceContext, String, Font, Size) MeasureText(IDeviceContext, String, Font, Size) MeasureText(IDeviceContext, String, Font, Size)

Gibt die Größe des angegebenen Texts in Pixel an, wenn dieser mit der angegebenen Schriftart im angegebenen Gerätekontext gezeichnet wird und dabei mithilfe der angegebenen Größe ein anfängliches umgebendes Rechteck für den Text erstellt wird.Provides the size, in pixels, of the specified text when drawn with the specified font in the specified device context, using the specified size to create an initial bounding rectangle for the text.

MeasureText(String, Font, Size, TextFormatFlags) MeasureText(String, Font, Size, TextFormatFlags) MeasureText(String, Font, Size, TextFormatFlags)

Gibt die Größe des angegebenen Texts in Pixel an, wenn dieser mit der angegebenen Schriftart und entsprechend den angegebenen Formatierungsanweisungen gezeichnet wird und dabei mithilfe der angegebenen Größe das anfängliche umgebende Rechteck für den Text erstellt wird.Provides the size, in pixels, of the specified text when drawn with the specified font and formatting instructions, using the specified size to create the initial bounding rectangle for the text.

MeasureText(IDeviceContext, String, Font, Size, TextFormatFlags) MeasureText(IDeviceContext, String, Font, Size, TextFormatFlags) MeasureText(IDeviceContext, String, Font, Size, TextFormatFlags)

Gibt die Größe des angegebenen Texts in Pixel an, wenn dieser mit dem angegebenen Gerätekontext, mit der angegebenen Schriftart und entsprechend den angegebenen Formatierungsanweisungen gezeichnet wird und dabei mithilfe der angegebenen Größe das anfängliche umgebende Rechteck für den Text erstellt wird.Provides the size, in pixels, of the specified text when drawn with the specified device context, font, and formatting instructions, using the specified size to create the initial bounding rectangle for the text.

MeasureText(String, Font) MeasureText(String, Font) MeasureText(String, Font)

Gibt die Größe des angegebenen Texts in Pixel an, wenn dieser in der angegebenen Schriftart gezeichnet wird.Provides the size, in pixels, of the specified text when drawn with the specified font.

public:
 static System::Drawing::Size MeasureText(System::String ^ text, System::Drawing::Font ^ font);
public static System.Drawing.Size MeasureText (string text, System.Drawing.Font font);
static member MeasureText : string * System.Drawing.Font -> System.Drawing.Size

Parameter

text
String String String

Der zu bemessende Text.The text to measure.

font
Font Font Font

Der Font, der auf den bemessenen Text angewendet werden soll.The Font to apply to the measured text.

Gibt zurück

Die Size (in Pixel) des text, der in einer einzelnen Zeile mit dem angegebenen font gezeichnet wird.The Size, in pixels, of text drawn on a single line with the specified font. Wie der Text gezeichnet wird, können Sie mithilfe einer der Überladungen von DrawText(IDeviceContext, String, Font, Rectangle, Color, TextFormatFlags) beeinflussen, die einen TextFormatFlags-Parameter akzeptiert.You can manipulate how the text is drawn by using one of the DrawText(IDeviceContext, String, Font, Rectangle, Color, TextFormatFlags) overloads that takes a TextFormatFlags parameter. Standardmäßig fügt TextRenderer dem umgebenden Rechteck des gezeichneten Texts einen Abstand hinzu, damit überhängende Symbole aufgenommen werden können.For example, the default behavior of the TextRenderer is to add padding to the bounding rectangle of the drawn text to accommodate overhanging glyphs. Wenn Sie eine Textzeile ohne diesen zusätzlichen Leerraum zeichnen müssen, empfiehlt es sich, die Versionen von DrawText(IDeviceContext, String, Font, Point, Color) und MeasureText(IDeviceContext, String, Font) zu verwenden, die einen Size-Parameter und einen TextFormatFlags-Parameter akzeptieren.If you need to draw a line of text without these extra spaces you should use the versions of DrawText(IDeviceContext, String, Font, Point, Color) and MeasureText(IDeviceContext, String, Font) that take a Size and TextFormatFlags parameter. Ein Beispiel finden Sie unter MeasureText(IDeviceContext, String, Font, Size, TextFormatFlags).For an example, see MeasureText(IDeviceContext, String, Font, Size, TextFormatFlags).

Beispiele

Das folgende Codebeispiel zeigt, wie Sie die MeasureText-Methode verwenden.The following code example demonstrates how to use the MeasureText method. Um dieses Beispiel auszuführen, fügen Sie den Code in einem Windows Form, und rufen MeasureText1 aus des Formulars Paint -Ereignishandler übergeben e als PaintEventArgs.To run this example, paste the code into a Windows Form and call MeasureText1 from the form's Paint event handler, passing e as PaintEventArgs.

private void MeasureText1(PaintEventArgs e)
{
    String text1 = "Measure this text";
    Font arialBold = new Font("Arial", 12.0F);
    Size textSize = TextRenderer.MeasureText(text1, arialBold);
    TextRenderer.DrawText(e.Graphics, text1, arialBold, 
        new Rectangle(new Point(10, 10), textSize), Color.Red);  
}
Private Sub MeasureText1(ByVal e As PaintEventArgs)
    Dim text1 As String = "Measure this text"
    Dim arialBold As New Font("Arial", 12.0F)
    Dim textSize As Size = TextRenderer.MeasureText(text1, arialBold)
    TextRenderer.DrawText(e.Graphics, text1, arialBold, _
        New Rectangle(New Point(10, 10), textSize), Color.Red)

End Sub

Hinweise

Die MeasureText Methode erfordert, dass der Text in einer einzelnen Zeile gezeichnet wird.The MeasureText method requires that the text is drawn on a single line.

MeasureText(IDeviceContext, String, Font) MeasureText(IDeviceContext, String, Font) MeasureText(IDeviceContext, String, Font)

Gibt die Größe des angegebenen Texts in Pixel an, wenn dieser in der angegebenen Schriftart im angegebenen Gerätekontext gezeichnet wird.Provides the size, in pixels, of the specified text drawn with the specified font in the specified device context.

public:
 static System::Drawing::Size MeasureText(System::Drawing::IDeviceContext ^ dc, System::String ^ text, System::Drawing::Font ^ font);
public static System.Drawing.Size MeasureText (System.Drawing.IDeviceContext dc, string text, System.Drawing.Font font);
static member MeasureText : System.Drawing.IDeviceContext * string * System.Drawing.Font -> System.Drawing.Size

Parameter

dc
IDeviceContext IDeviceContext IDeviceContext

Der Gerätekontext, in dem der Text bemessen werden soll.The device context in which to measure the text.

text
String String String

Der zu bemessende Text.The text to measure.

font
Font Font Font

Der Font, der auf den bemessenen Text angewendet werden soll.The Font to apply to the measured text.

Gibt zurück

Die Size (in Pixel) des text, der in einer einzelnen Zeile mit dem angegebenen font im angegebenen Gerätekontext gezeichnet wird.The Size, in pixels, of text drawn in a single line with the specified font in the specified device context.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie mit einer von der MeasureText Methoden.The following code example demonstrates how to use one of the MeasureText methods. Um dieses Beispiel auszuführen, fügen Sie den Code in einem Windows Form, und rufen DrawALineOfText aus des Formulars Paint -Ereignishandler übergeben e als PaintEventArgs.To run this example, paste the code into a Windows Form and call DrawALineOfText from the form's Paint event handler, passing e as PaintEventArgs.

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;
    }
    
}
Private Sub DrawALineOfText(ByVal e As PaintEventArgs)
    ' Declare strings to render on the form.
    Dim stringsToPaint() As String = {"Tail", "Spin", " Toys"}

    ' Declare fonts for rendering the strings.
    Dim fonts() As Font = {New Font("Arial", 14, FontStyle.Regular), _
        New Font("Arial", 14, FontStyle.Italic), _
        New Font("Arial", 14, FontStyle.Regular)}

    Dim startPoint As New Point(10, 10)

    ' Set TextFormatFlags to no padding so strings are drawn together.
    Dim flags As TextFormatFlags = TextFormatFlags.NoPadding

    ' Declare a proposed size with dimensions set to the maximum integer value.
    Dim proposedSize As Size = New Size(Integer.MaxValue, Integer.MaxValue)

    ' Measure each string with its font and NoPadding value and draw it to the form.
    For i As Integer = 0 To stringsToPaint.Length - 1
        Dim size As Size = TextRenderer.MeasureText(e.Graphics, _
            stringsToPaint(i), fonts(i), proposedSize, flags)
        Dim rect As Rectangle = New Rectangle(startPoint, size)
        TextRenderer.DrawText(e.Graphics, stringsToPaint(i), fonts(i), _
            startPoint, Color.Black, flags)
        startPoint.X += size.Width
    Next
End Sub

Hinweise

Die MeasureText Methode erfordert, dass der Text in einer einzelnen Zeile gezeichnet wird.The MeasureText method requires that the text is drawn on a single line.

MeasureText(String, Font, Size) MeasureText(String, Font, Size) MeasureText(String, Font, Size)

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.Provides the size, in pixels, of the specified text when drawn with the specified font, using the specified size to create an initial bounding rectangle.

public:
 static System::Drawing::Size MeasureText(System::String ^ text, System::Drawing::Font ^ font, System::Drawing::Size proposedSize);
public static System.Drawing.Size MeasureText (string text, System.Drawing.Font font, System.Drawing.Size proposedSize);
static member MeasureText : string * System.Drawing.Font * System.Drawing.Size -> System.Drawing.Size

Parameter

text
String String String

Der zu bemessende Text.The text to measure.

font
Font Font Font

Der Font, der auf den bemessenen Text angewendet werden soll.The Font to apply to the measured text.

proposedSize
Size Size Size

Die Size des anfänglichen umgebenden Rechtecks.The Size of the initial bounding rectangle.

Gibt zurück

Die Size des mit dem angegebenen text gezeichneten font in Pixel.The Size, in pixels, of text drawn with the specified font.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie mit einer von der MeasureText Methoden.The following code example demonstrates how to use one of the MeasureText methods. Um dieses Beispiel auszuführen, fügen Sie den Code in einem Windows Form, und rufen DrawALineOfText aus des Formulars Paint -Ereignishandler übergeben e als PaintEventArgs.To run this example, paste the code into a Windows Form and call DrawALineOfText from the form's Paint event handler, passing e as PaintEventArgs.

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;
    }
    
}
Private Sub DrawALineOfText(ByVal e As PaintEventArgs)
    ' Declare strings to render on the form.
    Dim stringsToPaint() As String = {"Tail", "Spin", " Toys"}

    ' Declare fonts for rendering the strings.
    Dim fonts() As Font = {New Font("Arial", 14, FontStyle.Regular), _
        New Font("Arial", 14, FontStyle.Italic), _
        New Font("Arial", 14, FontStyle.Regular)}

    Dim startPoint As New Point(10, 10)

    ' Set TextFormatFlags to no padding so strings are drawn together.
    Dim flags As TextFormatFlags = TextFormatFlags.NoPadding

    ' Declare a proposed size with dimensions set to the maximum integer value.
    Dim proposedSize As Size = New Size(Integer.MaxValue, Integer.MaxValue)

    ' Measure each string with its font and NoPadding value and draw it to the form.
    For i As Integer = 0 To stringsToPaint.Length - 1
        Dim size As Size = TextRenderer.MeasureText(e.Graphics, _
            stringsToPaint(i), fonts(i), proposedSize, flags)
        Dim rect As Rectangle = New Rectangle(startPoint, size)
        TextRenderer.DrawText(e.Graphics, stringsToPaint(i), fonts(i), _
            startPoint, Color.Black, flags)
        startPoint.X += size.Width
    Next
End Sub

Hinweise

Die MeasureText -Methode verwendet die proposedSize Parameter, um das Verhältnis von Höhe zu Breite anzugeben, wenn die Textgröße zu bestimmen.The MeasureText method uses the proposedSize parameter to indicate the relationship of height to width when determining the text size. Beim Messen von Text in einer einzelnen Zeile, wenn die proposedSize Parameter repräsentiert eine Size mit einer Höhendimension, die größer als Int32.MaxValue, zurückgegebenen Size wird die tatsächliche Höhe des Texts entsprechend angepasst werden.When measuring text on a single line, if the proposedSize parameter represents a Size with a height dimension greater than Int32.MaxValue, the returned Size will be adjusted to reflect the actual height of the text.

MeasureText(IDeviceContext, String, Font, Size) MeasureText(IDeviceContext, String, Font, Size) MeasureText(IDeviceContext, String, Font, Size)

Gibt die Größe des angegebenen Texts in Pixel an, wenn dieser mit der angegebenen Schriftart im angegebenen Gerätekontext gezeichnet wird und dabei mithilfe der angegebenen Größe ein anfängliches umgebendes Rechteck für den Text erstellt wird.Provides the size, in pixels, of the specified text when drawn with the specified font in the specified device context, using the specified size to create an initial bounding rectangle for the text.

public:
 static System::Drawing::Size MeasureText(System::Drawing::IDeviceContext ^ dc, System::String ^ text, System::Drawing::Font ^ font, System::Drawing::Size proposedSize);
public static System.Drawing.Size MeasureText (System.Drawing.IDeviceContext dc, string text, System.Drawing.Font font, System.Drawing.Size proposedSize);
static member MeasureText : System.Drawing.IDeviceContext * string * System.Drawing.Font * System.Drawing.Size -> System.Drawing.Size

Parameter

dc
IDeviceContext IDeviceContext IDeviceContext

Der Gerätekontext, in dem der Text bemessen werden soll.The device context in which to measure the text.

text
String String String

Der zu bemessende Text.The text to measure.

font
Font Font Font

Der Font, der auf den bemessenen Text angewendet werden soll.The Font to apply to the measured text.

proposedSize
Size Size Size

Die Size des anfänglichen umgebenden Rechtecks.The Size of the initial bounding rectangle.

Gibt zurück

Die Size des mit dem angegebenen text gezeichneten font in Pixel.The Size, in pixels, of text drawn with the specified font.

Ausnahmen

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie mit einer von der MeasureText Methoden.The following code example demonstrates how to use one of the MeasureText methods. Um dieses Beispiel auszuführen, fügen Sie den Code in einem Windows Form, und rufen DrawALineOfText aus des Formulars Paint -Ereignishandler übergeben e als PaintEventArgs.To run this example, paste the code into a Windows Form and call DrawALineOfText from the form's Paint event handler, passing e as PaintEventArgs.

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;
    }
    
}
Private Sub DrawALineOfText(ByVal e As PaintEventArgs)
    ' Declare strings to render on the form.
    Dim stringsToPaint() As String = {"Tail", "Spin", " Toys"}

    ' Declare fonts for rendering the strings.
    Dim fonts() As Font = {New Font("Arial", 14, FontStyle.Regular), _
        New Font("Arial", 14, FontStyle.Italic), _
        New Font("Arial", 14, FontStyle.Regular)}

    Dim startPoint As New Point(10, 10)

    ' Set TextFormatFlags to no padding so strings are drawn together.
    Dim flags As TextFormatFlags = TextFormatFlags.NoPadding

    ' Declare a proposed size with dimensions set to the maximum integer value.
    Dim proposedSize As Size = New Size(Integer.MaxValue, Integer.MaxValue)

    ' Measure each string with its font and NoPadding value and draw it to the form.
    For i As Integer = 0 To stringsToPaint.Length - 1
        Dim size As Size = TextRenderer.MeasureText(e.Graphics, _
            stringsToPaint(i), fonts(i), proposedSize, flags)
        Dim rect As Rectangle = New Rectangle(startPoint, size)
        TextRenderer.DrawText(e.Graphics, stringsToPaint(i), fonts(i), _
            startPoint, Color.Black, flags)
        startPoint.X += size.Width
    Next
End Sub

Hinweise

Die MeasureText -Methode verwendet die proposedSize Parameter, um das Verhältnis von Höhe zu Breite anzugeben, wenn die Textgröße zu bestimmen.The MeasureText method uses the proposedSize parameter to indicate the relationship of height to width when determining the text size. Beim Messen von Text in einer einzelnen Zeile, wenn die proposedSize Parameter repräsentiert eine Size mit einer Höhendimension, die größer als Int32.MaxValue, zurückgegebenen Size wird die tatsächliche Höhe des Texts entsprechend angepasst werden.When measuring text on a single line, if the proposedSize parameter represents a Size with a height dimension greater than Int32.MaxValue, the returned Size will be adjusted to reflect the actual height of the text.

MeasureText(String, Font, Size, TextFormatFlags) MeasureText(String, Font, Size, TextFormatFlags) MeasureText(String, Font, Size, TextFormatFlags)

Gibt die Größe des angegebenen Texts in Pixel an, wenn dieser mit der angegebenen Schriftart und entsprechend den angegebenen Formatierungsanweisungen gezeichnet wird und dabei mithilfe der angegebenen Größe das anfängliche umgebende Rechteck für den Text erstellt wird.Provides the size, in pixels, of the specified text when drawn with the specified font and formatting instructions, using the specified size to create the initial bounding rectangle for the text.

public:
 static System::Drawing::Size MeasureText(System::String ^ text, System::Drawing::Font ^ font, System::Drawing::Size proposedSize, System::Windows::Forms::TextFormatFlags flags);
public static System.Drawing.Size MeasureText (string text, System.Drawing.Font font, System.Drawing.Size proposedSize, System.Windows.Forms.TextFormatFlags flags);
static member MeasureText : string * System.Drawing.Font * System.Drawing.Size * System.Windows.Forms.TextFormatFlags -> System.Drawing.Size

Parameter

text
String String String

Der zu bemessende Text.The text to measure.

font
Font Font Font

Der Font, der auf den bemessenen Text angewendet werden soll.The Font to apply to the measured text.

proposedSize
Size Size Size

Die Size des anfänglichen umgebenden Rechtecks.The Size of the initial bounding rectangle.

flags
TextFormatFlags TextFormatFlags TextFormatFlags

Die Formatierungsanweisungen, die für den bemessenen Text gelten sollen.The formatting instructions to apply to the measured text.

Gibt zurück

Die Size des mit dem angegebenen text und Format gezeichneten font in Pixel.The Size, in pixels, of text drawn with the specified font and format.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie mit einer von der MeasureText Methoden.The following code example demonstrates how to use one of the MeasureText methods. Um dieses Beispiel auszuführen, fügen Sie den Code in einem Windows Form, und rufen DrawALineOfText aus des Formulars Paint -Ereignishandler übergeben e als PaintEventArgs.To run this example, paste the code into a Windows Form and call DrawALineOfText from the form's Paint event handler, passing e as PaintEventArgs.

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;
    }
    
}
Private Sub DrawALineOfText(ByVal e As PaintEventArgs)
    ' Declare strings to render on the form.
    Dim stringsToPaint() As String = {"Tail", "Spin", " Toys"}

    ' Declare fonts for rendering the strings.
    Dim fonts() As Font = {New Font("Arial", 14, FontStyle.Regular), _
        New Font("Arial", 14, FontStyle.Italic), _
        New Font("Arial", 14, FontStyle.Regular)}

    Dim startPoint As New Point(10, 10)

    ' Set TextFormatFlags to no padding so strings are drawn together.
    Dim flags As TextFormatFlags = TextFormatFlags.NoPadding

    ' Declare a proposed size with dimensions set to the maximum integer value.
    Dim proposedSize As Size = New Size(Integer.MaxValue, Integer.MaxValue)

    ' Measure each string with its font and NoPadding value and draw it to the form.
    For i As Integer = 0 To stringsToPaint.Length - 1
        Dim size As Size = TextRenderer.MeasureText(e.Graphics, _
            stringsToPaint(i), fonts(i), proposedSize, flags)
        Dim rect As Rectangle = New Rectangle(startPoint, size)
        TextRenderer.DrawText(e.Graphics, stringsToPaint(i), fonts(i), _
            startPoint, Color.Black, flags)
        startPoint.X += size.Width
    Next
End Sub

Hinweise

MeasureText verwendet die proposedSize und flags Parameter, um das Verhältnis von Höhe zu Breite anzugeben, wenn die Textgröße zu bestimmen.MeasureText uses the proposedSize and flags parameters to indicate the relationship of height to width when determining the text size. Beim Messen von Text in einer einzelnen Zeile, wenn die proposedSize Parameter repräsentiert eine Size mit einer Höhendimension, die größer als Int32.MaxValue, zurückgegebenen Size wird die tatsächliche Höhe des Texts entsprechend angepasst werden.When measuring text on a single line, if the proposedSize parameter represents a Size with a height dimension greater than Int32.MaxValue, the returned Size will be adjusted to reflect the actual height of the text.

Wie der Text gezeichnet wird, können Sie mithilfe einer der Überladungen von DrawText beeinflussen, die einen TextFormatFlags-Parameter akzeptiert.You can manipulate how the text is drawn by using one of the DrawText overloads that takes a TextFormatFlags parameter. Standardmäßig fügt TextRenderer dem umgebenden Rechteck des gezeichneten Texts einen Abstand hinzu, damit überhängende Symbole aufgenommen werden können.For example, the default behavior of the TextRenderer is to add padding to the bounding rectangle of the drawn text to accommodate overhanging glyphs. Wenn Sie eine Textzeile ohne diesen zusätzlichen Leerraum zeichnen müssen, empfiehlt es sich, die Versionen von DrawText und MeasureText zu verwenden, die einen Size-Parameter und einen TextFormatFlags-Parameter akzeptieren.If you need to draw a line of text without these extra spaces you should use the versions of DrawText and MeasureText that take a Size and TextFormatFlags parameter. Ein Beispiel finden Sie unter MeasureText(IDeviceContext, String, Font, Size, TextFormatFlags).For an example, see MeasureText(IDeviceContext, String, Font, Size, TextFormatFlags).

Hinweis

Diese Überladung der MeasureText(String, Font, Size, TextFormatFlags) ignoriert eine TextFormatFlags Wert NoPadding oder LeftAndRightPadding.This overload of MeasureText(String, Font, Size, TextFormatFlags) will ignore a TextFormatFlags value of NoPadding or LeftAndRightPadding. Wenn Sie einen auffüllungswert als den Standardwert angeben, verwenden Sie die Überladung von MeasureText(IDeviceContext, String, Font, Size, TextFormatFlags) , akzeptiert eine IDeviceContext Objekt.If you are specifying a padding value other than the default, you should use the overload of MeasureText(IDeviceContext, String, Font, Size, TextFormatFlags) that takes a IDeviceContext object.

MeasureText(IDeviceContext, String, Font, Size, TextFormatFlags) MeasureText(IDeviceContext, String, Font, Size, TextFormatFlags) MeasureText(IDeviceContext, String, Font, Size, TextFormatFlags)

Gibt die Größe des angegebenen Texts in Pixel an, wenn dieser mit dem angegebenen Gerätekontext, mit der angegebenen Schriftart und entsprechend den angegebenen Formatierungsanweisungen gezeichnet wird und dabei mithilfe der angegebenen Größe das anfängliche umgebende Rechteck für den Text erstellt wird.Provides the size, in pixels, of the specified text when drawn with the specified device context, font, and formatting instructions, using the specified size to create the initial bounding rectangle for the text.

public:
 static System::Drawing::Size MeasureText(System::Drawing::IDeviceContext ^ dc, System::String ^ text, System::Drawing::Font ^ font, System::Drawing::Size proposedSize, System::Windows::Forms::TextFormatFlags flags);
public static System.Drawing.Size MeasureText (System.Drawing.IDeviceContext dc, string text, System.Drawing.Font font, System.Drawing.Size proposedSize, System.Windows.Forms.TextFormatFlags flags);
static member MeasureText : System.Drawing.IDeviceContext * string * System.Drawing.Font * System.Drawing.Size * System.Windows.Forms.TextFormatFlags -> System.Drawing.Size

Parameter

dc
IDeviceContext IDeviceContext IDeviceContext

Der Gerätekontext, in dem der Text bemessen werden soll.The device context in which to measure the text.

text
String String String

Der zu bemessende Text.The text to measure.

font
Font Font Font

Der Font, der auf den bemessenen Text angewendet werden soll.The Font to apply to the measured text.

proposedSize
Size Size Size

Die Size des anfänglichen umgebenden Rechtecks.The Size of the initial bounding rectangle.

flags
TextFormatFlags TextFormatFlags TextFormatFlags

Die Formatierungsanweisungen, die für den bemessenen Text gelten sollen.The formatting instructions to apply to the measured text.

Gibt zurück

Die Size des mit dem angegebenen text und Format gezeichneten font in Pixel.The Size, in pixels, of text drawn with the specified font and format.

Ausnahmen

Beispiele

Im folgenden Beispiel wird veranschaulicht, wie die MeasureText und DrawText Methoden, um eine einzelne Textzeile in andere Schriftschnitte zu zeichnen.The following example demonstrates how to use the MeasureText and DrawText methods to draw a single line of text in different font styles. Zum Ausführen dieses Beispiels fügen Sie den folgenden code in ein Windows Form, und rufen DrawALineOfText aus des Formulars Paint -Ereignishandler übergeben e als PaintEventArgs.To run this example paste the following code in a Windows Form and call DrawALineOfText from the form's Paint event handler, passing e as PaintEventArgs.

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;
    }
    
}
Private Sub DrawALineOfText(ByVal e As PaintEventArgs)
    ' Declare strings to render on the form.
    Dim stringsToPaint() As String = {"Tail", "Spin", " Toys"}

    ' Declare fonts for rendering the strings.
    Dim fonts() As Font = {New Font("Arial", 14, FontStyle.Regular), _
        New Font("Arial", 14, FontStyle.Italic), _
        New Font("Arial", 14, FontStyle.Regular)}

    Dim startPoint As New Point(10, 10)

    ' Set TextFormatFlags to no padding so strings are drawn together.
    Dim flags As TextFormatFlags = TextFormatFlags.NoPadding

    ' Declare a proposed size with dimensions set to the maximum integer value.
    Dim proposedSize As Size = New Size(Integer.MaxValue, Integer.MaxValue)

    ' Measure each string with its font and NoPadding value and draw it to the form.
    For i As Integer = 0 To stringsToPaint.Length - 1
        Dim size As Size = TextRenderer.MeasureText(e.Graphics, _
            stringsToPaint(i), fonts(i), proposedSize, flags)
        Dim rect As Rectangle = New Rectangle(startPoint, size)
        TextRenderer.DrawText(e.Graphics, stringsToPaint(i), fonts(i), _
            startPoint, Color.Black, flags)
        startPoint.X += size.Width
    Next
End Sub

Hinweise

Die MeasureText -Methode verwendet die proposedSize und flags Parameter, um das Verhältnis von Höhe zu Breite anzugeben, wenn die Textgröße zu bestimmen.The MeasureText method uses the proposedSize and flags parameters to indicate the relationship of height to width when determining the text size. Beim Messen von Text in einer einzelnen Zeile, wenn die proposedSize Parameter repräsentiert eine Size mit einer Höhendimension, die größer als Int32.MaxValue, zurückgegebenen Size wird die tatsächliche Höhe des Texts entsprechend angepasst werden.When measuring text on a single line, if the proposedSize parameter represents a Size with a height dimension greater than Int32.MaxValue, the returned Size will be adjusted to reflect the actual height of the text.

Wie der Text gezeichnet wird, können Sie mithilfe einer der Überladungen von DrawText beeinflussen, die einen TextFormatFlags-Parameter akzeptiert.You can manipulate how the text is drawn by using one of the DrawText overloads that takes a TextFormatFlags parameter. Standardmäßig fügt TextRenderer dem umgebenden Rechteck des gezeichneten Texts einen Abstand hinzu, damit überhängende Symbole aufgenommen werden können.For example, the default behavior of the TextRenderer is to add padding to the bounding rectangle of the drawn text to accommodate overhanging glyphs. Wenn Sie eine Textzeile ohne diesen zusätzlichen Leerraum zeichnen müssen, verwenden Sie die Versionen der DrawText und MeasureText , nehmen eine Size und TextFormatFlags Parameter, wie im Beispiel gezeigt.If you need to draw a line of text without these extra spaces, use the versions of DrawText and MeasureText that take a Size and TextFormatFlags parameter, as shown in the example.

Gilt für: