TextRenderer.MeasureText Метод

Определение

Измеряет указанный текст при рисовании с указанным шрифтом.

Перегрузки

Имя Описание
MeasureText(String, Font, Size, TextFormatFlags)

Предоставляет размер указанного текста в пикселях при рисовании с указанным шрифтом и инструкциями по форматированию, используя указанный размер, чтобы создать начальный ограничивающий прямоугольник для текста.

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

Предоставляет размер указанного текста в пикселях при рисовании с указанным шрифтом и инструкциями по форматированию, используя указанный размер, чтобы создать начальный ограничивающий прямоугольник для текста.

MeasureText(IDeviceContext, String, Font, Size)

Предоставляет размер указанного текста в пикселях при рисовании с указанным шрифтом в указанном контексте устройства, используя указанный размер для создания исходного ограничивающего прямоугольника для текста.

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

Предоставляет размер указанного текста в пикселях при рисовании с указанным шрифтом в указанном контексте устройства, используя указанный размер для создания исходного ограничивающего прямоугольника для текста.

MeasureText(String, Font, Size)

Предоставляет размер указанного текста в пикселях при рисовании с указанным шрифтом, используя указанный размер для создания начального ограничивающего прямоугольника.

MeasureText(IDeviceContext, ReadOnlySpan<Char>, Font)

Предоставляет размер в пикселях указанного текста, нарисованного с указанным шрифтом в указанном контексте устройства.

MeasureText(IDeviceContext, String, Font)

Предоставляет размер в пикселях указанного текста, нарисованного с указанным шрифтом в указанном контексте устройства.

MeasureText(String, Font)

Предоставляет размер указанного текста в пикселях при рисовании с указанным шрифтом.

MeasureText(ReadOnlySpan<Char>, Font)

Предоставляет размер указанного текста в пикселях при рисовании с указанным шрифтом.

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

Предоставляет размер указанного текста в пикселях при рисовании с указанным контекстом устройства, шрифтом и инструкциями по форматированию, используя указанный размер, чтобы создать начальный ограничивающий прямоугольник для текста.

MeasureText(ReadOnlySpan<Char>, Font, Size)

Предоставляет размер указанного текста в пикселях при рисовании с указанным шрифтом, используя указанный размер для создания начального ограничивающего прямоугольника.

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

Предоставляет размер указанного текста в пикселях при рисовании с указанным контекстом устройства, шрифтом и инструкциями по форматированию, используя указанный размер, чтобы создать начальный ограничивающий прямоугольник для текста.

MeasureText(String, Font, Size, TextFormatFlags)

Исходный код:
TextRenderer.cs
Исходный код:
TextRenderer.cs
Исходный код:
TextRenderer.cs
Исходный код:
TextRenderer.cs
Исходный код:
TextRenderer.cs

Предоставляет размер указанного текста в пикселях при рисовании с указанным шрифтом и инструкциями по форматированию, используя указанный размер, чтобы создать начальный ограничивающий прямоугольник для текста.

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

Параметры

text
String

Текст для измерения.

font
Font

Значение, Font применяемое к измеренной тексту.

proposedSize
Size

Начальный Size ограничивающий прямоугольник.

flags
TextFormatFlags

Инструкции по форматированию, применяемые к измеренного текста.

Возвращаемое значение

Отрисовка Sizeв пикселях text с заданным font и форматом.

Примеры

В следующем примере кода показано, как использовать один из MeasureText методов. Чтобы выполнить этот пример, вставьте код в форму Windows и вызовите DrawALineOfText из обработчика событий Paint формы, передав e как 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

Комментарии

MeasureText proposedSize использует параметры и flags параметры, чтобы указать связь высоты с шириной при определении размера текста. При измерении текста на одной строке, если proposedSize параметр представляет Size размер высоты больше Int32.MaxValue, возвращаемый Size объект будет скорректирован в соответствии с фактической высотой текста.

Вы можете управлять рисованием текста с помощью одной из DrawText перегрузки, которая принимает TextFormatFlags параметр. Например, поведение TextRenderer по умолчанию заключается в добавлении заполнения в ограничивающий прямоугольник рисованного текста для размещения нависших глифов. Если необходимо нарисовать линию текста без этих дополнительных пробелов DrawText , следует использовать версии и MeasureText параметры SizeTextFormatFlags . Пример см. в разделе MeasureText(IDeviceContext, String, Font, Size, TextFormatFlags).

Note

Эта перегрузка MeasureText(String, Font, Size, TextFormatFlags) будет игнорировать TextFormatFlags значение NoPadding или LeftAndRightPadding. Если вы указываете значение заполнения MeasureText(IDeviceContext, String, Font, Size, TextFormatFlags) , отличное от значения по умолчанию, следует использовать перегрузку, которая принимает IDeviceContext объект.

Применяется к

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

Исходный код:
TextRenderer.cs
Исходный код:
TextRenderer.cs
Исходный код:
TextRenderer.cs
Исходный код:
TextRenderer.cs
Исходный код:
TextRenderer.cs

Предоставляет размер указанного текста в пикселях при рисовании с указанным шрифтом и инструкциями по форматированию, используя указанный размер, чтобы создать начальный ограничивающий прямоугольник для текста.

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

Параметры

text
ReadOnlySpan<Char>

Текст для измерения.

font
Font

Значение, Font применяемое к измеренной тексту.

proposedSize
Size

Начальный Size ограничивающий прямоугольник.

flags
TextFormatFlags

Инструкции по форматированию, применяемые к измеренного текста.

Возвращаемое значение

Отрисовка Sizeв пикселях text с заданным font и форматом.

Исключения

ModifyString имеет значение set.

Применяется к

MeasureText(IDeviceContext, String, Font, Size)

Исходный код:
TextRenderer.cs
Исходный код:
TextRenderer.cs
Исходный код:
TextRenderer.cs
Исходный код:
TextRenderer.cs
Исходный код:
TextRenderer.cs

Предоставляет размер указанного текста в пикселях при рисовании с указанным шрифтом в указанном контексте устройства, используя указанный размер для создания исходного ограничивающего прямоугольника для текста.

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

Параметры

dc
IDeviceContext

Контекст устройства, в котором измеряется текст.

text
String

Текст для измерения.

font
Font

Значение, Font применяемое к измеренной тексту.

proposedSize
Size

Начальный Size ограничивающий прямоугольник.

Возвращаемое значение

Отрисовка Sizeв пикселях text с указанным font.

Исключения

dc равно null.

Примеры

В следующем примере кода показано, как использовать один из MeasureText методов. Чтобы выполнить этот пример, вставьте код в форму Windows и вызовите DrawALineOfText из обработчика событий Paint формы, передав e как 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

Комментарии

Метод MeasureText использует proposedSize параметр, чтобы указать отношение высоты к ширине при определении размера текста. При измерении текста на одной строке, если proposedSize параметр представляет Size размер высоты больше Int32.MaxValue, возвращаемый Size объект будет скорректирован в соответствии с фактической высотой текста.

Применяется к

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

Исходный код:
TextRenderer.cs
Исходный код:
TextRenderer.cs
Исходный код:
TextRenderer.cs
Исходный код:
TextRenderer.cs
Исходный код:
TextRenderer.cs

Предоставляет размер указанного текста в пикселях при рисовании с указанным шрифтом в указанном контексте устройства, используя указанный размер для создания исходного ограничивающего прямоугольника для текста.

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

Параметры

dc
IDeviceContext

Контекст устройства, в котором измеряется текст.

text
ReadOnlySpan<Char>

Текст для измерения.

font
Font

Значение, Font применяемое к измеренной тексту.

proposedSize
Size

Начальный Size ограничивающий прямоугольник.

Возвращаемое значение

Отрисовка Sizeв пикселях text с указанным font.

Исключения

dc равно null.

Применяется к

MeasureText(String, Font, Size)

Исходный код:
TextRenderer.cs
Исходный код:
TextRenderer.cs
Исходный код:
TextRenderer.cs
Исходный код:
TextRenderer.cs
Исходный код:
TextRenderer.cs

Предоставляет размер указанного текста в пикселях при рисовании с указанным шрифтом, используя указанный размер для создания начального ограничивающего прямоугольника.

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

Параметры

text
String

Текст для измерения.

font
Font

Значение, Font применяемое к измеренной тексту.

proposedSize
Size

Начальный Size ограничивающий прямоугольник.

Возвращаемое значение

Отрисовка Sizeв пикселях text с указанным font.

Примеры

В следующем примере кода показано, как использовать один из MeasureText методов. Чтобы выполнить этот пример, вставьте код в форму Windows и вызовите DrawALineOfText из обработчика событий Paint формы, передав e как 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

Комментарии

Метод MeasureText использует proposedSize параметр, чтобы указать отношение высоты к ширине при определении размера текста. При измерении текста на одной строке, если proposedSize параметр представляет Size размер высоты больше Int32.MaxValue, возвращаемый Size объект будет скорректирован в соответствии с фактической высотой текста.

Применяется к

MeasureText(IDeviceContext, ReadOnlySpan<Char>, Font)

Исходный код:
TextRenderer.cs
Исходный код:
TextRenderer.cs
Исходный код:
TextRenderer.cs
Исходный код:
TextRenderer.cs
Исходный код:
TextRenderer.cs

Предоставляет размер в пикселях указанного текста, нарисованного с указанным шрифтом в указанном контексте устройства.

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

Параметры

dc
IDeviceContext

Контекст устройства, в котором измеряется текст.

text
ReadOnlySpan<Char>

Текст для измерения.

font
Font

Значение, Font применяемое к измеренной тексту.

Возвращаемое значение

Отрисовка Sizeв пикселях text с указанным font в указанном контексте устройства.

Исключения

dc равно null.

Применяется к

MeasureText(IDeviceContext, String, Font)

Исходный код:
TextRenderer.cs
Исходный код:
TextRenderer.cs
Исходный код:
TextRenderer.cs
Исходный код:
TextRenderer.cs
Исходный код:
TextRenderer.cs

Предоставляет размер в пикселях указанного текста, нарисованного с указанным шрифтом в указанном контексте устройства.

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

Параметры

dc
IDeviceContext

Контекст устройства, в котором измеряется текст.

text
String

Текст для измерения.

font
Font

Значение, Font применяемое к измеренной тексту.

Возвращаемое значение

Отрисовка Sizeв пикселях text в одной строке с указанным font в указанном контексте устройства.

Примеры

В следующем примере кода показано, как использовать один из MeasureText методов. Чтобы выполнить этот пример, вставьте код в форму Windows и вызовите DrawALineOfText из обработчика событий Paint формы, передав e как 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

Комментарии

Метод MeasureText требует, чтобы текст рисовался на одной строке.

Применяется к

MeasureText(String, Font)

Исходный код:
TextRenderer.cs
Исходный код:
TextRenderer.cs
Исходный код:
TextRenderer.cs
Исходный код:
TextRenderer.cs
Исходный код:
TextRenderer.cs

Предоставляет размер указанного текста в пикселях при рисовании с указанным шрифтом.

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

Параметры

text
String

Текст для измерения.

font
Font

Значение, Font применяемое к измеренной тексту.

Возвращаемое значение

Отрисовка Sizeв пикселях text на одной строке с указанным font. Вы можете управлять рисованием текста с помощью одной из DrawText(IDeviceContext, String, Font, Rectangle, Color, TextFormatFlags) перегрузки, которая принимает TextFormatFlags параметр. Например, поведение TextRenderer по умолчанию заключается в добавлении заполнения в ограничивающий прямоугольник рисованного текста для размещения нависших глифов. Если необходимо нарисовать линию текста без этих дополнительных пробелов DrawText(IDeviceContext, String, Font, Point, Color) , следует использовать версии и MeasureText(IDeviceContext, String, Font) параметры SizeTextFormatFlags . Пример см. в разделе MeasureText(IDeviceContext, String, Font, Size, TextFormatFlags).

Примеры

В следующем примере кода показано, как использовать MeasureText метод. Чтобы выполнить этот пример, вставьте код в форму Windows и вызовите MeasureText1 из обработчика событий Paint формы, передав e как 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

Комментарии

Метод MeasureText требует, чтобы текст рисовался на одной строке.

Применяется к

MeasureText(ReadOnlySpan<Char>, Font)

Исходный код:
TextRenderer.cs
Исходный код:
TextRenderer.cs
Исходный код:
TextRenderer.cs
Исходный код:
TextRenderer.cs
Исходный код:
TextRenderer.cs

Предоставляет размер указанного текста в пикселях при рисовании с указанным шрифтом.

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

Параметры

text
ReadOnlySpan<Char>

Текст для измерения.

font
Font

Значение, Font применяемое к измеренной тексту.

Возвращаемое значение

Текст Sizeв пикселях, нарисованный на одной строке с указанным шрифтом. Вы можете управлять рисованием текста с помощью одной из DrawText(IDeviceContext, ReadOnlySpan<Char>, Font, Rectangle, Color, TextFormatFlags) перегрузки, которая принимает TextFormatFlags параметр. Например, поведение TextRenderer по умолчанию заключается в добавлении заполнения в ограничивающий прямоугольник рисованного текста для размещения нависших глифов. Если необходимо нарисовать линию текста без этих дополнительных пробелов DrawText(IDeviceContext, ReadOnlySpan<Char>, Font, Point, Color) , следует использовать версии, MeasureText(IDeviceContext, ReadOnlySpan<Char>, Font) которые принимают размер и TextFormatFlags параметр. Пример см. в разделе MeasureText(IDeviceContext, String, Font, Size, TextFormatFlags).

Применяется к

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

Исходный код:
TextRenderer.cs
Исходный код:
TextRenderer.cs
Исходный код:
TextRenderer.cs
Исходный код:
TextRenderer.cs
Исходный код:
TextRenderer.cs

Предоставляет размер указанного текста в пикселях при рисовании с указанным контекстом устройства, шрифтом и инструкциями по форматированию, используя указанный размер, чтобы создать начальный ограничивающий прямоугольник для текста.

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

Параметры

dc
IDeviceContext

Контекст устройства, в котором измеряется текст.

text
ReadOnlySpan<Char>

Текст для измерения.

font
Font

Значение, Font применяемое к измеренной тексту.

proposedSize
Size

Начальный Size ограничивающий прямоугольник.

flags
TextFormatFlags

Инструкции по форматированию, применяемые к измеренного текста.

Возвращаемое значение

Отрисовка Sizeв пикселях text с заданным font и форматом.

Исключения

dc равно null.

ModifyString имеет значение set.

Применяется к

MeasureText(ReadOnlySpan<Char>, Font, Size)

Исходный код:
TextRenderer.cs
Исходный код:
TextRenderer.cs
Исходный код:
TextRenderer.cs
Исходный код:
TextRenderer.cs
Исходный код:
TextRenderer.cs

Предоставляет размер указанного текста в пикселях при рисовании с указанным шрифтом, используя указанный размер для создания начального ограничивающего прямоугольника.

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

Параметры

text
ReadOnlySpan<Char>

Текст для измерения.

font
Font

Значение, Font применяемое к измеренной тексту.

proposedSize
Size

Начальный Size ограничивающий прямоугольник.

Возвращаемое значение

Отрисовка Sizeв пикселях text с указанным font.

Применяется к

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

Исходный код:
TextRenderer.cs
Исходный код:
TextRenderer.cs
Исходный код:
TextRenderer.cs
Исходный код:
TextRenderer.cs
Исходный код:
TextRenderer.cs

Предоставляет размер указанного текста в пикселях при рисовании с указанным контекстом устройства, шрифтом и инструкциями по форматированию, используя указанный размер, чтобы создать начальный ограничивающий прямоугольник для текста.

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

Параметры

dc
IDeviceContext

Контекст устройства, в котором измеряется текст.

text
String

Текст для измерения.

font
Font

Значение, Font применяемое к измеренной тексту.

proposedSize
Size

Начальный Size ограничивающий прямоугольник.

flags
TextFormatFlags

Инструкции по форматированию, применяемые к измеренного текста.

Возвращаемое значение

Отрисовка Sizeв пикселях text с заданным font и форматом.

Исключения

dc равно null.

Примеры

В следующем примере показано, как использовать MeasureText методы для DrawText рисования одной строки текста в разных стилях шрифтов. Чтобы запустить этот пример, вставьте следующий код в форму Windows и вызовите DrawALineOfText из обработчика событий Paint формы, передав e как 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

Комментарии

Метод MeasureText использует proposedSize параметры и flags параметры для указания связи высоты с шириной при определении размера текста. При измерении текста на одной строке, если proposedSize параметр представляет Size размер высоты больше Int32.MaxValue, возвращаемый Size объект будет скорректирован в соответствии с фактической высотой текста.

Вы можете управлять рисованием текста с помощью одной из DrawText перегрузки, которая принимает TextFormatFlags параметр. Например, поведение TextRenderer по умолчанию заключается в добавлении заполнения в ограничивающий прямоугольник рисованного текста для размещения нависших глифов. Если необходимо нарисовать линию текста без этих дополнительных пробеловDrawText, используйте версии и MeasureTextSize параметрыTextFormatFlags, как показано в примере.

Применяется к