TextRenderer.MeasureText Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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.
- 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.
- 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
ModifyString est définie.
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
Contexte de périphérique (Device Context) dans lequel mesurer le texte.
- text
- String
Texte à mesurer.
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
Contexte de périphérique (Device Context) dans lequel mesurer le texte.
- text
- ReadOnlySpan<Char>
Texte à mesurer.
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.
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
Contexte de périphérique (Device Context) dans lequel mesurer le texte.
- text
- ReadOnlySpan<Char>
Texte à mesurer.
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
Contexte de périphérique (Device Context) dans lequel mesurer le texte.
- text
- String
Texte à mesurer.
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.
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.
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
Contexte de périphérique (Device Context) dans lequel mesurer le texte.
- text
- ReadOnlySpan<Char>
Texte à mesurer.
- 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
.
ModifyString est définie.
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.
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
Contexte de périphérique (Device Context) dans lequel mesurer le texte.
- text
- String
Texte à mesurer.
- 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.