TextRenderer.MeasureText Metodo

Definizione

Misura il testo specificato quando viene disegnato con il tipo di carattere specificato.

Overload

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

Fornisce le dimensioni, in pixel, del testo specificato quando viene disegnato con il tipo di carattere e le istruzioni di formattazione specificati, utilizzando le dimensioni specificate per creare il rettangolo di delimitazione iniziale per il testo.

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

Fornisce le dimensioni, in pixel, del testo specificato quando viene disegnato con il tipo di carattere e le istruzioni di formattazione specificati, utilizzando le dimensioni specificate per creare il rettangolo di delimitazione iniziale per il testo.

MeasureText(IDeviceContext, String, Font, Size)

Fornisce le dimensioni, in pixel, del testo specificato quando viene disegnato con il tipo di carattere specificato nel contesto di dispositivo specificato, utilizzando le dimensioni specificate per creare un rettangolo di delimitazione iniziale per il testo.

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

Fornisce le dimensioni, in pixel, del testo specificato quando viene disegnato con il tipo di carattere specificato nel contesto di dispositivo specificato, utilizzando le dimensioni specificate per creare un rettangolo di delimitazione iniziale per il testo.

MeasureText(String, Font, Size)

Fornisce le dimensioni, in pixel, del testo specificato quando viene disegnato con il tipo di carattere specificato, utilizzando le dimensioni specificate per creare un rettangolo di delimitazione iniziale.

MeasureText(IDeviceContext, ReadOnlySpan<Char>, Font)

Fornisce le dimensioni, in pixel, del testo specificato disegnato con il tipo di carattere specificato nel contesto di dispositivo specificato.

MeasureText(IDeviceContext, String, Font)

Fornisce le dimensioni, in pixel, del testo specificato disegnato con il tipo di carattere specificato nel contesto di dispositivo specificato.

MeasureText(String, Font)

Fornisce le dimensioni, in pixel, del testo specificato quando viene disegnato con il tipo di carattere specificato.

MeasureText(ReadOnlySpan<Char>, Font)

Fornisce le dimensioni, in pixel, del testo specificato quando viene disegnato con il tipo di carattere specificato.

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

Fornisce le dimensioni, in pixel, del testo specificato quando viene disegnato con il contesto di dispositivo, il tipo di carattere e le istruzioni di formattazione specificati, utilizzando le dimensioni specificate per creare il rettangolo di delimitazione iniziale per il testo.

MeasureText(ReadOnlySpan<Char>, Font, Size)

Fornisce le dimensioni, in pixel, del testo specificato quando viene disegnato con il tipo di carattere specificato, utilizzando le dimensioni specificate per creare un rettangolo di delimitazione iniziale.

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

Fornisce le dimensioni, in pixel, del testo specificato quando viene disegnato con il contesto di dispositivo, il tipo di carattere e le istruzioni di formattazione specificati, utilizzando le dimensioni specificate per creare il rettangolo di delimitazione iniziale per il testo.

MeasureText(String, Font, Size, TextFormatFlags)

Origine:
TextRenderer.cs
Origine:
TextRenderer.cs
Origine:
TextRenderer.cs
Origine:
TextRenderer.cs
Origine:
TextRenderer.cs

Fornisce le dimensioni, in pixel, del testo specificato quando viene disegnato con il tipo di carattere e le istruzioni di formattazione specificati, utilizzando le dimensioni specificate per creare il rettangolo di delimitazione iniziale per il testo.

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

Parametri

text
String

Testo da misurare.

font
Font

Oggetto Font da applicare al testo misurato.

proposedSize
Size

Oggetto Size del rettangolo di delimitazione iniziale.

flags
TextFormatFlags

Istruzioni di formattazione da applicare al testo misurato.

Valori restituiti

, Sizein pixel, disegnata text con il formato e specificato font .

Esempio

Nell'esempio di codice seguente viene illustrato come usare uno dei MeasureText metodi . Per eseguire questo esempio, incollare il codice in un modulo di Windows e chiamare dal gestore eventi /> come .

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

Commenti

MeasureText usa i proposedSize parametri e flags per indicare la relazione di altezza a larghezza quando si determina la dimensione del testo. Quando si misura il testo su una singola riga, se il proposedSize parametro rappresenta un Size oggetto con una dimensione di altezza maggiore di Int32.MaxValue, l'oggetto restituito Size verrà regolato in modo da riflettere l'altezza effettiva del testo.

È possibile modificare la modalità di disegno del testo usando uno degli DrawText overload che accettano un TextFormatFlags parametro. Ad esempio, il comportamento predefinito di consiste nell'aggiungere TextRenderer spaziatura interna al rettangolo di delimitazione del testo disegnato per contenere glifi sporgenti. Se è necessario disegnare una riga di testo senza questi spazi aggiuntivi, è consigliabile usare le versioni di DrawText e che accettano un MeasureText parametro e SizeTextFormatFlags . Per un esempio, vedere MeasureText(IDeviceContext, String, Font, Size, TextFormatFlags).

Note

Questo overload di MeasureText(String, Font, Size, TextFormatFlags) ignorerà un TextFormatFlags valore di NoPadding o LeftAndRightPadding. Se si specifica un valore di riempimento diverso da quello predefinito, è consigliabile utilizzare l'overload di MeasureText(IDeviceContext, String, Font, Size, TextFormatFlags) che accetta un IDeviceContext oggetto .

Si applica a

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

Origine:
TextRenderer.cs
Origine:
TextRenderer.cs
Origine:
TextRenderer.cs
Origine:
TextRenderer.cs
Origine:
TextRenderer.cs

Fornisce le dimensioni, in pixel, del testo specificato quando viene disegnato con il tipo di carattere e le istruzioni di formattazione specificati, utilizzando le dimensioni specificate per creare il rettangolo di delimitazione iniziale per il testo.

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

Parametri

text
ReadOnlySpan<Char>

Testo da misurare.

font
Font

Oggetto Font da applicare al testo misurato.

proposedSize
Size

Oggetto Size del rettangolo di delimitazione iniziale.

flags
TextFormatFlags

Istruzioni di formattazione da applicare al testo misurato.

Valori restituiti

, Sizein pixel, disegnata text con il formato e specificato font .

Eccezioni

Si applica a

MeasureText(IDeviceContext, String, Font, Size)

Origine:
TextRenderer.cs
Origine:
TextRenderer.cs
Origine:
TextRenderer.cs
Origine:
TextRenderer.cs
Origine:
TextRenderer.cs

Fornisce le dimensioni, in pixel, del testo specificato quando viene disegnato con il tipo di carattere specificato nel contesto di dispositivo specificato, utilizzando le dimensioni specificate per creare un rettangolo di delimitazione iniziale per il testo.

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

Parametri

dc
IDeviceContext

Contesto del dispositivo in cui misurare il testo.

text
String

Testo da misurare.

font
Font

Oggetto Font da applicare al testo misurato.

proposedSize
Size

Oggetto Size del rettangolo di delimitazione iniziale.

Valori restituiti

Oggetto Size, in pixel, disegnata text con l'oggetto specificato font.

Eccezioni

dc è null.

Esempio

Nell'esempio di codice seguente viene illustrato come usare uno dei MeasureText metodi . Per eseguire questo esempio, incollare il codice in un modulo di Windows e chiamare dal gestore eventi /> come .

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

Commenti

Il MeasureText metodo usa il proposedSize parametro per indicare la relazione di altezza a larghezza quando si determina la dimensione del testo. Quando si misura il testo su una singola riga, se il proposedSize parametro rappresenta un Size oggetto con una dimensione di altezza maggiore di Int32.MaxValue, l'oggetto restituito Size verrà regolato in modo da riflettere l'altezza effettiva del testo.

Si applica a

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

Origine:
TextRenderer.cs
Origine:
TextRenderer.cs
Origine:
TextRenderer.cs
Origine:
TextRenderer.cs
Origine:
TextRenderer.cs

Fornisce le dimensioni, in pixel, del testo specificato quando viene disegnato con il tipo di carattere specificato nel contesto di dispositivo specificato, utilizzando le dimensioni specificate per creare un rettangolo di delimitazione iniziale per il testo.

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

Parametri

dc
IDeviceContext

Contesto del dispositivo in cui misurare il testo.

text
ReadOnlySpan<Char>

Testo da misurare.

font
Font

Oggetto Font da applicare al testo misurato.

proposedSize
Size

Oggetto Size del rettangolo di delimitazione iniziale.

Valori restituiti

Oggetto Size, in pixel, disegnata text con l'oggetto specificato font.

Eccezioni

dc è null.

Si applica a

MeasureText(String, Font, Size)

Origine:
TextRenderer.cs
Origine:
TextRenderer.cs
Origine:
TextRenderer.cs
Origine:
TextRenderer.cs
Origine:
TextRenderer.cs

Fornisce le dimensioni, in pixel, del testo specificato quando viene disegnato con il tipo di carattere specificato, utilizzando le dimensioni specificate per creare un rettangolo di delimitazione iniziale.

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

Parametri

text
String

Testo da misurare.

font
Font

Oggetto Font da applicare al testo misurato.

proposedSize
Size

Oggetto Size del rettangolo di delimitazione iniziale.

Valori restituiti

Oggetto Size, in pixel, disegnata text con l'oggetto specificato font.

Esempio

Nell'esempio di codice seguente viene illustrato come usare uno dei MeasureText metodi . Per eseguire questo esempio, incollare il codice in un modulo di Windows e chiamare dal gestore eventi /> come .

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

Commenti

Il MeasureText metodo usa il proposedSize parametro per indicare la relazione di altezza a larghezza quando si determina la dimensione del testo. Quando si misura il testo su una singola riga, se il proposedSize parametro rappresenta un Size oggetto con una dimensione di altezza maggiore di Int32.MaxValue, l'oggetto restituito Size verrà regolato in modo da riflettere l'altezza effettiva del testo.

Si applica a

MeasureText(IDeviceContext, ReadOnlySpan<Char>, Font)

Origine:
TextRenderer.cs
Origine:
TextRenderer.cs
Origine:
TextRenderer.cs
Origine:
TextRenderer.cs
Origine:
TextRenderer.cs

Fornisce le dimensioni, in pixel, del testo specificato disegnato con il tipo di carattere specificato nel contesto di dispositivo specificato.

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

Parametri

dc
IDeviceContext

Contesto del dispositivo in cui misurare il testo.

text
ReadOnlySpan<Char>

Testo da misurare.

font
Font

Oggetto Font da applicare al testo misurato.

Valori restituiti

, Sizein pixel, disegnata text con l'oggetto specificato font nel contesto di dispositivo specificato.

Eccezioni

dc è null.

Si applica a

MeasureText(IDeviceContext, String, Font)

Origine:
TextRenderer.cs
Origine:
TextRenderer.cs
Origine:
TextRenderer.cs
Origine:
TextRenderer.cs
Origine:
TextRenderer.cs

Fornisce le dimensioni, in pixel, del testo specificato disegnato con il tipo di carattere specificato nel contesto di dispositivo specificato.

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

Parametri

dc
IDeviceContext

Contesto del dispositivo in cui misurare il testo.

text
String

Testo da misurare.

font
Font

Oggetto Font da applicare al testo misurato.

Valori restituiti

, Sizein pixel, disegnata text in una singola riga con l'oggetto specificato font nel contesto di dispositivo specificato.

Esempio

Nell'esempio di codice seguente viene illustrato come usare uno dei MeasureText metodi . Per eseguire questo esempio, incollare il codice in un modulo di Windows e chiamare dal gestore eventi /> come .

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

Commenti

Il MeasureText metodo richiede che il testo venga disegnato su una singola riga.

Si applica a

MeasureText(String, Font)

Origine:
TextRenderer.cs
Origine:
TextRenderer.cs
Origine:
TextRenderer.cs
Origine:
TextRenderer.cs
Origine:
TextRenderer.cs

Fornisce le dimensioni, in pixel, del testo specificato quando viene disegnato con il tipo di carattere specificato.

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

Parametri

text
String

Testo da misurare.

font
Font

Oggetto Font da applicare al testo misurato.

Valori restituiti

, Sizein pixel, disegnata text su una singola riga con l'oggetto specificato font. È possibile modificare la modalità di disegno del testo usando uno degli DrawText(IDeviceContext, String, Font, Rectangle, Color, TextFormatFlags) overload che accettano un TextFormatFlags parametro. Ad esempio, il comportamento predefinito di consiste nell'aggiungere TextRenderer spaziatura interna al rettangolo di delimitazione del testo disegnato per contenere glifi sporgenti. Se è necessario disegnare una riga di testo senza questi spazi aggiuntivi, è consigliabile usare le versioni di DrawText(IDeviceContext, String, Font, Point, Color) e che accettano un MeasureText(IDeviceContext, String, Font) parametro e SizeTextFormatFlags . Per un esempio, vedere MeasureText(IDeviceContext, String, Font, Size, TextFormatFlags).

Esempio

Nell'esempio di codice seguente viene illustrato come usare il MeasureText metodo . Per eseguire questo esempio, incollare il codice in un modulo di Windows e chiamare dal gestore eventi /> come .

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

Commenti

Il MeasureText metodo richiede che il testo venga disegnato su una singola riga.

Si applica a

MeasureText(ReadOnlySpan<Char>, Font)

Origine:
TextRenderer.cs
Origine:
TextRenderer.cs
Origine:
TextRenderer.cs
Origine:
TextRenderer.cs
Origine:
TextRenderer.cs

Fornisce le dimensioni, in pixel, del testo specificato quando viene disegnato con il tipo di carattere specificato.

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

Parametri

text
ReadOnlySpan<Char>

Testo da misurare.

font
Font

Oggetto Font da applicare al testo misurato.

Valori restituiti

Oggetto Size, in pixel, di testo disegnato su una singola riga con il tipo di carattere specificato. È possibile modificare la modalità di disegno del testo usando uno degli DrawText(IDeviceContext, ReadOnlySpan<Char>, Font, Rectangle, Color, TextFormatFlags) overload che accettano un TextFormatFlags parametro. Ad esempio, il comportamento predefinito di consiste nell'aggiungere TextRenderer spaziatura interna al rettangolo di delimitazione del testo disegnato per contenere glifi sporgenti. Se è necessario disegnare una riga di testo senza questi spazi aggiuntivi, è consigliabile usare le versioni di DrawText(IDeviceContext, ReadOnlySpan<Char>, Font, Point, Color) e MeasureText(IDeviceContext, ReadOnlySpan<Char>, Font) che accettano un parametro e TextFormatFlags dimensioni. Per un esempio, vedere MeasureText(IDeviceContext, String, Font, Size, TextFormatFlags).

Si applica a

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

Origine:
TextRenderer.cs
Origine:
TextRenderer.cs
Origine:
TextRenderer.cs
Origine:
TextRenderer.cs
Origine:
TextRenderer.cs

Fornisce le dimensioni, in pixel, del testo specificato quando viene disegnato con il contesto di dispositivo, il tipo di carattere e le istruzioni di formattazione specificati, utilizzando le dimensioni specificate per creare il rettangolo di delimitazione iniziale per il testo.

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

Parametri

dc
IDeviceContext

Contesto del dispositivo in cui misurare il testo.

text
ReadOnlySpan<Char>

Testo da misurare.

font
Font

Oggetto Font da applicare al testo misurato.

proposedSize
Size

Oggetto Size del rettangolo di delimitazione iniziale.

flags
TextFormatFlags

Istruzioni di formattazione da applicare al testo misurato.

Valori restituiti

, Sizein pixel, disegnata text con il formato e specificato font .

Eccezioni

dc è null.

Si applica a

MeasureText(ReadOnlySpan<Char>, Font, Size)

Origine:
TextRenderer.cs
Origine:
TextRenderer.cs
Origine:
TextRenderer.cs
Origine:
TextRenderer.cs
Origine:
TextRenderer.cs

Fornisce le dimensioni, in pixel, del testo specificato quando viene disegnato con il tipo di carattere specificato, utilizzando le dimensioni specificate per creare un rettangolo di delimitazione iniziale.

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

Parametri

text
ReadOnlySpan<Char>

Testo da misurare.

font
Font

Oggetto Font da applicare al testo misurato.

proposedSize
Size

Oggetto Size del rettangolo di delimitazione iniziale.

Valori restituiti

Oggetto Size, in pixel, disegnata text con l'oggetto specificato font.

Si applica a

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

Origine:
TextRenderer.cs
Origine:
TextRenderer.cs
Origine:
TextRenderer.cs
Origine:
TextRenderer.cs
Origine:
TextRenderer.cs

Fornisce le dimensioni, in pixel, del testo specificato quando viene disegnato con il contesto di dispositivo, il tipo di carattere e le istruzioni di formattazione specificati, utilizzando le dimensioni specificate per creare il rettangolo di delimitazione iniziale per il testo.

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

Parametri

dc
IDeviceContext

Contesto del dispositivo in cui misurare il testo.

text
String

Testo da misurare.

font
Font

Oggetto Font da applicare al testo misurato.

proposedSize
Size

Oggetto Size del rettangolo di delimitazione iniziale.

flags
TextFormatFlags

Istruzioni di formattazione da applicare al testo misurato.

Valori restituiti

, Sizein pixel, disegnata text con il formato e specificato font .

Eccezioni

dc è null.

Esempio

Nell'esempio seguente viene illustrato come utilizzare i MeasureText metodi e DrawText per disegnare una singola riga di testo in stili di carattere diversi. Per eseguire questo esempio, incollare il codice seguente in un modulo di Windows e chiamare dal gestore eventi < /> del modulo, passando come .

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

Commenti

Il MeasureText metodo usa i proposedSize parametri e flags per indicare la relazione di altezza a larghezza quando si determina la dimensione del testo. Quando si misura il testo su una singola riga, se il proposedSize parametro rappresenta un Size oggetto con una dimensione di altezza maggiore di Int32.MaxValue, l'oggetto restituito Size verrà regolato in modo da riflettere l'altezza effettiva del testo.

È possibile modificare la modalità di disegno del testo usando uno degli DrawText overload che accettano un TextFormatFlags parametro. Ad esempio, il comportamento predefinito di consiste nell'aggiungere TextRenderer spaziatura interna al rettangolo di delimitazione del testo disegnato per contenere glifi sporgenti. Se è necessario disegnare una riga di testo senza questi spazi aggiuntivi, usare le versioni di DrawText e che accettano un MeasureText parametro e SizeTextFormatFlags , come illustrato nell'esempio.

Si applica a