Partager via


TextRenderer.MeasureText Méthode

Définition

Mesure le texte spécifié lors de son dessin avec la police indiquée.

Surcharges

MeasureText(String, Font, Size, TextFormatFlags)

Fournit la taille, en pixels, du texte spécifié lors de son dessin à l'aide des instructions de mise en forme et de police indiquées, en utilisant la taille spécifiée pour créer le rectangle englobant initial du texte.

MeasureText(ReadOnlySpan<Char>, Font, Size, TextFormatFlags)

Fournit la taille, en pixels, du texte spécifié lors de son dessin à l'aide des instructions de mise en forme et de police indiquées, en utilisant la taille spécifiée pour créer le rectangle englobant initial du texte.

MeasureText(IDeviceContext, String, Font, Size)

Fournit la taille, en pixels, du texte spécifié lors de son dessin avec la police indiquée dans le contexte de périphérique (Device Context) spécifié, en utilisant la taille spécifiée pour créer un rectangle englobant initial pour le texte.

MeasureText(IDeviceContext, ReadOnlySpan<Char>, Font, Size)

Fournit la taille, en pixels, du texte spécifié lors de son dessin avec la police indiquée dans le contexte de périphérique (Device Context) spécifié, en utilisant la taille spécifiée pour créer un rectangle englobant initial pour le texte.

MeasureText(String, Font, Size)

Fournit la taille, en pixels, du texte spécifié lors de son dessin avec la police indiquée, en utilisant la taille spécifiée pour créer un rectangle englobant initial.

MeasureText(IDeviceContext, ReadOnlySpan<Char>, Font)

Fournit la taille, en pixels, du texte spécifié dessiné avec la police indiquée dans le contexte de périphérique (Device Context) spécifié.

MeasureText(IDeviceContext, String, Font)

Fournit la taille, en pixels, du texte spécifié dessiné avec la police indiquée dans le contexte de périphérique (Device Context) spécifié.

MeasureText(String, Font)

Fournit la taille, en pixels, du texte spécifié lors de son dessin avec la police indiquée.

MeasureText(ReadOnlySpan<Char>, Font)

Fournit la taille, en pixels, du texte spécifié lors de son dessin avec la police indiquée.

MeasureText(IDeviceContext, ReadOnlySpan<Char>, Font, Size, TextFormatFlags)

Fournit la taille, en pixels, du texte spécifié lors de son dessin à l'aide des instructions de contexte de périphérique (Device Context), de police et de mise en forme indiquées, en utilisant la taille spécifiée pour créer le rectangle englobant initial du texte.

MeasureText(ReadOnlySpan<Char>, Font, Size)

Fournit la taille, en pixels, du texte spécifié lors de son dessin avec la police indiquée, en utilisant la taille spécifiée pour créer un rectangle englobant initial.

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

Fournit la taille, en pixels, du texte spécifié lors de son dessin à l'aide des instructions de contexte de périphérique (Device Context), de police et de mise en forme indiquées, en utilisant la taille spécifiée pour créer le rectangle englobant initial du texte.

MeasureText(String, Font, Size, TextFormatFlags)

Fournit la taille, en pixels, du texte spécifié lors de son dessin à l'aide des instructions de mise en forme et de police indiquées, en utilisant la taille spécifiée pour créer le rectangle englobant initial du texte.

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);
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
Public Shared Function MeasureText (text As String, font As Font, proposedSize As Size, flags As TextFormatFlags) As Size

Paramètres

text
String

Texte à mesurer.

font
Font

Font à appliquer au texte mesuré.

proposedSize
Size

Size du rectangle englobant initial.

flags
TextFormatFlags

Instructions de mise en forme à appliquer au texte mesuré.

Retours

Size, en pixels, de text dessiné avec la police (font) et le format spécifiés.

Exemples

L’exemple de code suivant montre comment utiliser l’une des MeasureText méthodes . Pour exécuter cet exemple, collez le code dans un Windows Form et appelez DrawALineOfText à partir du gestionnaire d’événements du Paint formulaire, en passant e comme 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

Remarques

MeasureText utilise les proposedSize paramètres et pour indiquer la relation entre la hauteur et flags la largeur lors de la détermination de la taille du texte. Lors de la mesure du texte sur une seule ligne, si le proposedSize paramètre représente un Size avec une dimension de hauteur supérieure Int32.MaxValueà , le retourné Size est ajusté pour refléter la hauteur réelle du texte.

Vous pouvez manipuler le dessin du texte en utilisant une des surcharges de DrawText qui prend un paramètre TextFormatFlags. Par exemple, le comportement par défaut de TextRenderer est d'ajouter le remplissage au rectangle englobant du texte dessiné pour recevoir des glyphes surplombants. Si vous devez dessiner une ligne de texte sans ces espaces supplémentaires, vous devez utiliser les versions de DrawText et MeasureText qui prennent un paramètre Size et TextFormatFlags. Pour obtenir un exemple, consultez MeasureText(IDeviceContext, String, Font, Size, TextFormatFlags).

Notes

Cette surcharge de MeasureText(String, Font, Size, TextFormatFlags) ignore la TextFormatFlags valeur ou NoPaddingLeftAndRightPadding. Si vous spécifiez une valeur de remplissage autre que la valeur par défaut, vous devez utiliser la surcharge de MeasureText(IDeviceContext, String, Font, Size, TextFormatFlags) qui accepte un IDeviceContext objet.

S’applique à

MeasureText(ReadOnlySpan<Char>, Font, Size, TextFormatFlags)

Fournit la taille, en pixels, du texte spécifié lors de son dessin à l'aide des instructions de mise en forme et de police indiquées, en utilisant la taille spécifiée pour créer le rectangle englobant initial du texte.

public:
 static System::Drawing::Size MeasureText(ReadOnlySpan<char> text, System::Drawing::Font ^ font, System::Drawing::Size proposedSize, System::Windows::Forms::TextFormatFlags flags);
public static System.Drawing.Size MeasureText (ReadOnlySpan<char> text, System.Drawing.Font? font, System.Drawing.Size proposedSize, System.Windows.Forms.TextFormatFlags flags);
static member MeasureText : ReadOnlySpan<char> * System.Drawing.Font * System.Drawing.Size * System.Windows.Forms.TextFormatFlags -> System.Drawing.Size
Public Shared Function MeasureText (text As ReadOnlySpan(Of Char), font As Font, proposedSize As Size, flags As TextFormatFlags) As Size

Paramètres

text
ReadOnlySpan<Char>

Texte à mesurer.

font
Font

Font à appliquer au texte mesuré.

proposedSize
Size

Size du rectangle englobant initial.

flags
TextFormatFlags

Instructions de mise en forme à appliquer au texte mesuré.

Retours

Size, en pixels, de text dessiné avec la police (font) et le format spécifiés.

Exceptions

S’applique à

MeasureText(IDeviceContext, String, Font, Size)

Fournit la taille, en pixels, du texte spécifié lors de son dessin avec la police indiquée dans le contexte de périphérique (Device Context) spécifié, en utilisant la taille spécifiée pour créer un rectangle englobant initial pour le texte.

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);
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
Public Shared Function MeasureText (dc As IDeviceContext, text As String, font As Font, proposedSize As Size) As Size

Paramètres

dc
IDeviceContext

Contexte de périphérique (Device Context) dans lequel mesurer le texte.

text
String

Texte à mesurer.

font
Font

Font à appliquer au texte mesuré.

proposedSize
Size

Size du rectangle englobant initial.

Retours

Size, en pixels, de text dessiné avec la police spécifiée (font).

Exceptions

dc a la valeur null.

Exemples

L’exemple de code suivant montre comment utiliser l’une des MeasureText méthodes . Pour exécuter cet exemple, collez le code dans un Windows Form et appelez DrawALineOfText à partir du gestionnaire d’événements du Paint formulaire, en passant e comme 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

Remarques

La MeasureText méthode utilise le proposedSize paramètre pour indiquer la relation entre la hauteur et la largeur lors de la détermination de la taille du texte. Lors de la mesure du texte sur une seule ligne, si le proposedSize paramètre représente un Size avec une dimension de hauteur supérieure Int32.MaxValueà , le retourné Size est ajusté pour refléter la hauteur réelle du texte.

S’applique à

MeasureText(IDeviceContext, ReadOnlySpan<Char>, Font, Size)

Fournit la taille, en pixels, du texte spécifié lors de son dessin avec la police indiquée dans le contexte de périphérique (Device Context) spécifié, en utilisant la taille spécifiée pour créer un rectangle englobant initial pour le texte.

public:
 static System::Drawing::Size MeasureText(System::Drawing::IDeviceContext ^ dc, ReadOnlySpan<char> text, System::Drawing::Font ^ font, System::Drawing::Size proposedSize);
public static System.Drawing.Size MeasureText (System.Drawing.IDeviceContext dc, ReadOnlySpan<char> text, System.Drawing.Font? font, System.Drawing.Size proposedSize);
static member MeasureText : System.Drawing.IDeviceContext * ReadOnlySpan<char> * System.Drawing.Font * System.Drawing.Size -> System.Drawing.Size
Public Shared Function MeasureText (dc As IDeviceContext, text As ReadOnlySpan(Of Char), font As Font, proposedSize As Size) As Size

Paramètres

dc
IDeviceContext

Contexte de périphérique (Device Context) dans lequel mesurer le texte.

text
ReadOnlySpan<Char>

Texte à mesurer.

font
Font

Font à appliquer au texte mesuré.

proposedSize
Size

Size du rectangle englobant initial.

Retours

Size, en pixels, de text dessiné avec la police spécifiée (font).

Exceptions

dc est null.

S’applique à

MeasureText(String, Font, Size)

Fournit la taille, en pixels, du texte spécifié lors de son dessin avec la police indiquée, en utilisant la taille spécifiée pour créer un rectangle englobant initial.

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);
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
Public Shared Function MeasureText (text As String, font As Font, proposedSize As Size) As Size

Paramètres

text
String

Texte à mesurer.

font
Font

Font à appliquer au texte mesuré.

proposedSize
Size

Size du rectangle englobant initial.

Retours

Size, en pixels, de text dessiné avec la police spécifiée (font).

Exemples

L’exemple de code suivant montre comment utiliser l’une des MeasureText méthodes . Pour exécuter cet exemple, collez le code dans un Windows Form et appelez DrawALineOfText à partir du gestionnaire d’événements du Paint formulaire, en passant e comme 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

Remarques

La MeasureText méthode utilise le proposedSize paramètre pour indiquer la relation entre la hauteur et la largeur lors de la détermination de la taille du texte. Lors de la mesure du texte sur une seule ligne, si le proposedSize paramètre représente un Size avec une dimension de hauteur supérieure Int32.MaxValueà , le retourné Size est ajusté pour refléter la hauteur réelle du texte.

S’applique à

MeasureText(IDeviceContext, ReadOnlySpan<Char>, Font)

Fournit la taille, en pixels, du texte spécifié dessiné avec la police indiquée dans le contexte de périphérique (Device Context) spécifié.

public:
 static System::Drawing::Size MeasureText(System::Drawing::IDeviceContext ^ dc, ReadOnlySpan<char> text, System::Drawing::Font ^ font);
public static System.Drawing.Size MeasureText (System.Drawing.IDeviceContext dc, ReadOnlySpan<char> text, System.Drawing.Font? font);
static member MeasureText : System.Drawing.IDeviceContext * ReadOnlySpan<char> * System.Drawing.Font -> System.Drawing.Size
Public Shared Function MeasureText (dc As IDeviceContext, text As ReadOnlySpan(Of Char), font As Font) As Size

Paramètres

dc
IDeviceContext

Contexte de périphérique (Device Context) dans lequel mesurer le texte.

text
ReadOnlySpan<Char>

Texte à mesurer.

font
Font

Font à appliquer au texte mesuré.

Retours

Size, en pixels, du text dessiné avec la font indiquée dans le contexte de périphérique spécifié.

Exceptions

dc est null.

S’applique à

MeasureText(IDeviceContext, String, Font)

Fournit la taille, en pixels, du texte spécifié dessiné avec la police indiquée dans le contexte de périphérique (Device Context) spécifié.

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);
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
Public Shared Function MeasureText (dc As IDeviceContext, text As String, font As Font) As Size

Paramètres

dc
IDeviceContext

Contexte de périphérique (Device Context) dans lequel mesurer le texte.

text
String

Texte à mesurer.

font
Font

Font à appliquer au texte mesuré.

Retours

Size, en pixels, de text dessiné sur une ligne unique avec la police indiquée (font) dans le contexte de périphérique (Device Context) spécifié.

Exemples

L’exemple de code suivant montre comment utiliser l’une des MeasureText méthodes . Pour exécuter cet exemple, collez le code dans un Windows Form et appelez DrawALineOfText à partir du gestionnaire d’événements du Paint formulaire, en passant e comme 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

Remarques

La MeasureText méthode nécessite que le texte soit dessiné sur une seule ligne.

S’applique à

MeasureText(String, Font)

Fournit la taille, en pixels, du texte spécifié lors de son dessin avec la police indiquée.

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);
public static System.Drawing.Size MeasureText (string? text, System.Drawing.Font? font);
static member MeasureText : string * System.Drawing.Font -> System.Drawing.Size
Public Shared Function MeasureText (text As String, font As Font) As Size

Paramètres

text
String

Texte à mesurer.

font
Font

Font à appliquer au texte mesuré.

Retours

Size, en pixels, de text dessiné sur une ligne unique avec la police spécifiée (font). Vous pouvez manipuler le dessin du texte en utilisant une des surcharges de DrawText(IDeviceContext, String, Font, Rectangle, Color, TextFormatFlags) qui prend un paramètre TextFormatFlags. Par exemple, le comportement par défaut de TextRenderer est d'ajouter le remplissage au rectangle englobant du texte dessiné pour recevoir des glyphes surplombants. Si vous devez dessiner une ligne de texte sans ces espaces supplémentaires, vous devez utiliser les versions de DrawText(IDeviceContext, String, Font, Point, Color) et MeasureText(IDeviceContext, String, Font) qui prennent un paramètre Size et TextFormatFlags. Pour obtenir un exemple, consultez MeasureText(IDeviceContext, String, Font, Size, TextFormatFlags).

Exemples

L'exemple de code suivant illustre l'utilisation de la méthode MeasureText. Pour exécuter cet exemple, collez le code dans un Windows Form et appelez MeasureText1 à partir du gestionnaire d’événements du Paint formulaire, en passant e comme 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

Remarques

La MeasureText méthode nécessite que le texte soit dessiné sur une seule ligne.

S’applique à

MeasureText(ReadOnlySpan<Char>, Font)

Fournit la taille, en pixels, du texte spécifié lors de son dessin avec la police indiquée.

public:
 static System::Drawing::Size MeasureText(ReadOnlySpan<char> text, System::Drawing::Font ^ font);
public static System.Drawing.Size MeasureText (ReadOnlySpan<char> text, System.Drawing.Font? font);
static member MeasureText : ReadOnlySpan<char> * System.Drawing.Font -> System.Drawing.Size
Public Shared Function MeasureText (text As ReadOnlySpan(Of Char), font As Font) As Size

Paramètres

text
ReadOnlySpan<Char>

Texte à mesurer.

font
Font

Font à appliquer au texte mesuré.

Retours

Size, en pixels, du texte dessiné sur une seule ligne avec la police spécifiée. Vous pouvez manipuler le dessin du texte en utilisant une des surcharges de DrawText(IDeviceContext, ReadOnlySpan<Char>, Font, Rectangle, Color, TextFormatFlags) qui prend un paramètre TextFormatFlags. Par exemple, le comportement par défaut de TextRenderer est d'ajouter le remplissage au rectangle englobant du texte dessiné pour recevoir des glyphes surplombants. Si vous devez dessiner une ligne de texte sans ces espaces supplémentaires, utilisez les versions de DrawText(IDeviceContext, ReadOnlySpan<Char>, Font, Point, Color) et de MeasureText(IDeviceContext, ReadOnlySpan<Char>, Font) qui prennent un paramètre Size et un paramètre TextFormatFlags. Pour obtenir un exemple, consultez MeasureText(IDeviceContext, String, Font, Size, TextFormatFlags).

S’applique à

MeasureText(IDeviceContext, ReadOnlySpan<Char>, Font, Size, TextFormatFlags)

Fournit la taille, en pixels, du texte spécifié lors de son dessin à l'aide des instructions de contexte de périphérique (Device Context), de police et de mise en forme indiquées, en utilisant la taille spécifiée pour créer le rectangle englobant initial du texte.

public:
 static System::Drawing::Size MeasureText(System::Drawing::IDeviceContext ^ dc, ReadOnlySpan<char> text, System::Drawing::Font ^ font, System::Drawing::Size proposedSize, System::Windows::Forms::TextFormatFlags flags);
public static System.Drawing.Size MeasureText (System.Drawing.IDeviceContext dc, ReadOnlySpan<char> text, System.Drawing.Font? font, System.Drawing.Size proposedSize, System.Windows.Forms.TextFormatFlags flags);
static member MeasureText : System.Drawing.IDeviceContext * ReadOnlySpan<char> * System.Drawing.Font * System.Drawing.Size * System.Windows.Forms.TextFormatFlags -> System.Drawing.Size
Public Shared Function MeasureText (dc As IDeviceContext, text As ReadOnlySpan(Of Char), font As Font, proposedSize As Size, flags As TextFormatFlags) As Size

Paramètres

dc
IDeviceContext

Contexte de périphérique (Device Context) dans lequel mesurer le texte.

text
ReadOnlySpan<Char>

Texte à mesurer.

font
Font

Font à appliquer au texte mesuré.

proposedSize
Size

Size du rectangle englobant initial.

flags
TextFormatFlags

Instructions de mise en forme à appliquer au texte mesuré.

Retours

Size, en pixels, de text dessiné avec la police (font) et le format spécifiés.

Exceptions

dc a la valeur null.

S’applique à

MeasureText(ReadOnlySpan<Char>, Font, Size)

Fournit la taille, en pixels, du texte spécifié lors de son dessin avec la police indiquée, en utilisant la taille spécifiée pour créer un rectangle englobant initial.

public:
 static System::Drawing::Size MeasureText(ReadOnlySpan<char> text, System::Drawing::Font ^ font, System::Drawing::Size proposedSize);
public static System.Drawing.Size MeasureText (ReadOnlySpan<char> text, System.Drawing.Font? font, System.Drawing.Size proposedSize);
static member MeasureText : ReadOnlySpan<char> * System.Drawing.Font * System.Drawing.Size -> System.Drawing.Size
Public Shared Function MeasureText (text As ReadOnlySpan(Of Char), font As Font, proposedSize As Size) As Size

Paramètres

text
ReadOnlySpan<Char>

Texte à mesurer.

font
Font

Font à appliquer au texte mesuré.

proposedSize
Size

Size du rectangle englobant initial.

Retours

Size, en pixels, de text dessiné avec la police spécifiée (font).

S’applique à

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

Fournit la taille, en pixels, du texte spécifié lors de son dessin à l'aide des instructions de contexte de périphérique (Device Context), de police et de mise en forme indiquées, en utilisant la taille spécifiée pour créer le rectangle englobant initial du texte.

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);
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
Public Shared Function MeasureText (dc As IDeviceContext, text As String, font As Font, proposedSize As Size, flags As TextFormatFlags) As Size

Paramètres

dc
IDeviceContext

Contexte de périphérique (Device Context) dans lequel mesurer le texte.

text
String

Texte à mesurer.

font
Font

Font à appliquer au texte mesuré.

proposedSize
Size

Size du rectangle englobant initial.

flags
TextFormatFlags

Instructions de mise en forme à appliquer au texte mesuré.

Retours

Size, en pixels, de text dessiné avec la police (font) et le format spécifiés.

Exceptions

dc a la valeur null.

Exemples

L’exemple suivant montre comment utiliser les MeasureText méthodes et DrawText pour dessiner une seule ligne de texte dans différents styles de police. Pour exécuter cet exemple, collez le code suivant dans un Windows Form et appelez DrawALineOfText à partir du gestionnaire d’événements du Paint formulaire, en passant e comme 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

Remarques

La MeasureText méthode utilise les proposedSize paramètres et flags pour indiquer la relation entre la hauteur et la largeur lors de la détermination de la taille du texte. Lors de la mesure du texte sur une seule ligne, si le proposedSize paramètre représente un Size avec une dimension de hauteur supérieure Int32.MaxValueà , le retourné Size est ajusté pour refléter la hauteur réelle du texte.

Vous pouvez manipuler le dessin du texte en utilisant une des surcharges de DrawText qui prend un paramètre TextFormatFlags. Par exemple, le comportement par défaut de TextRenderer est d'ajouter le remplissage au rectangle englobant du texte dessiné pour recevoir des glyphes surplombants. Si vous devez dessiner une ligne de texte sans ces espaces supplémentaires, utilisez les versions de DrawText et MeasureText qui prennent un Size paramètre et TextFormatFlags , comme illustré dans l’exemple.

S’applique à