TextRenderer.MeasureText TextRenderer.MeasureText TextRenderer.MeasureText Method

Определение

Измеряет указанный текст при прорисовке с помощью указанного шрифта.Measures the specified text when drawn with the specified font.

Перегрузки

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

Предоставляет размер (в пикселях) указанного текста при отрисовке с помощью заданного шрифта.Provides the size, in pixels, of the specified text when drawn with the specified font.

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

Предоставляет размер (в пикселях) указанного текста, отрисовываемого с помощью заданного шрифта в указанном контексте устройства.Provides the size, in pixels, of the specified text drawn with the specified font in the specified device context.

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

Предоставляет размер (в пикселях) указанного текста при его отрисовке с помощью указанного шрифта, с использованием заданного размера для создания исходного ограничивающего прямоугольника.Provides the size, in pixels, of the specified text when drawn with the specified font, using the specified size to create an initial bounding rectangle.

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

Предоставляет размер (в пикселях) указанного текста при его отрисовке с помощью указанного шрифта в заданном контексте устройства, с использованием заданного размера для создания исходного ограничивающего прямоугольника для текста.Provides the size, in pixels, of the specified text when drawn with the specified font in the specified device context, using the specified size to create an initial bounding rectangle for the text.

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

Предоставляет размер (в пикселях) указанного текста при его отрисовке с помощью указанного шрифта и инструкций форматирования, с использованием заданного размера для создания исходного ограничивающего прямоугольника для текста.Provides the size, in pixels, of the specified text when drawn with the specified font and formatting instructions, using the specified size to create the initial bounding rectangle for the text.

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

Предоставляет размер (в пикселях) указанного текста при его отрисовке с помощью указанных значений контекста устройства, шрифта и инструкций форматирования, с использованием заданного размера для создания исходного ограничивающего прямоугольника для текста.Provides the size, in pixels, of the specified text when drawn with the specified device context, font, and formatting instructions, using the specified size to create the initial bounding rectangle for the text.

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

Предоставляет размер (в пикселях) указанного текста при отрисовке с помощью заданного шрифта.Provides the size, in pixels, of the specified text when drawn with the specified font.

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

Параметры

text
String String String

Текст для измерения.The text to measure.

font
Font Font Font

Объект Font для применения к измеряемому тексту.The Font to apply to the measured text.

Возвраты

Размер Size (в пикселях) объекта text, отрисовываемого на одной строке с помощью задаваемого объекта font.The Size, in pixels, of text drawn on a single line with the specified font. Управлять прорисовкой текста можно с помощью одной из перегрузок метода DrawText(IDeviceContext, String, Font, Rectangle, Color, TextFormatFlags), принимающей параметр TextFormatFlags.You can manipulate how the text is drawn by using one of the DrawText(IDeviceContext, String, Font, Rectangle, Color, TextFormatFlags) overloads that takes a TextFormatFlags parameter. Например, поведение класса TextRenderer по умолчанию предполагает добавление внутренних полей в ограничивающий прямоугольник отображаемого текста с целью вместить в этот прямоугольник части глифов, выступающие за его границы.For example, the default behavior of the TextRenderer is to add padding to the bounding rectangle of the drawn text to accommodate overhanging glyphs. Если требуется прорисовать строку текста без этих дополнительных областей, следует использовать версии методов DrawText(IDeviceContext, String, Font, Point, Color) и MeasureText(IDeviceContext, String, Font), которые принимают объект Size и параметр TextFormatFlags.If you need to draw a line of text without these extra spaces you should use the versions of DrawText(IDeviceContext, String, Font, Point, Color) and MeasureText(IDeviceContext, String, Font) that take a Size and TextFormatFlags parameter. Пример см. в разделе MeasureText(IDeviceContext, String, Font, Size, TextFormatFlags).For an example, see MeasureText(IDeviceContext, String, Font, Size, TextFormatFlags).

Примеры

В следующем примере кода показано, как использовать метод MeasureText.The following code example demonstrates how to use the MeasureText method. Чтобы выполнить этот пример, вставьте код в форму Windows Forms и вызов MeasureText1 из обработчика Paint событий формы, передав e его как PaintEventArgs.To run this example, paste the code into a Windows Form and call MeasureText1 from the form's Paint event handler, passing e as PaintEventArgs.

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

End Sub

Комментарии

MeasureText Метод требует, чтобы текст нарисован на одной строке.The MeasureText method requires that the text is drawn on a single line.

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

Предоставляет размер (в пикселях) указанного текста, отрисовываемого с помощью заданного шрифта в указанном контексте устройства.Provides the size, in pixels, of the specified text drawn with the specified font in the specified device context.

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

Параметры

dc
IDeviceContext IDeviceContext IDeviceContext

Контекст устройства, в котором должен измеряться текст.The device context in which to measure the text.

text
String String String

Текст для измерения.The text to measure.

font
Font Font Font

Объект Font для применения к измеряемому тексту.The Font to apply to the measured text.

Возвраты

Размер Size (в пикселях) объекта text, отрисовываемого на одной строке с помощью указанного параметра font в заданном контексте устройства.The Size, in pixels, of text drawn in a single line with the specified font in the specified device context.

Примеры

В следующем примере кода показано, как использовать один из MeasureText методов.The following code example demonstrates how to use one of the MeasureText methods. Чтобы выполнить этот пример, вставьте код в форму Windows Forms и вызов DrawALineOfText из обработчика Paint событий формы, передав e его как PaintEventArgs.To run this example, paste the code into a Windows Form and call DrawALineOfText from the form's Paint event handler, passing e as PaintEventArgs.

private static void DrawALineOfText(PaintEventArgs e)
{
    // Declare strings to render on the form.
    string[] stringsToPaint = { "Tail", "Spin", " Toys" };

    // Declare fonts for rendering the strings.
    Font[] fonts = { new Font("Arial", 14, FontStyle.Regular), 
        new Font("Arial", 14, FontStyle.Italic), 
        new Font("Arial", 14, FontStyle.Regular) };

    Point startPoint = new Point(10, 10);

    // Set TextFormatFlags to no padding so strings are drawn together.
    TextFormatFlags flags = TextFormatFlags.NoPadding;

    // Declare a proposed size with dimensions set to the maximum integer value.
    Size proposedSize = new Size(int.MaxValue, int.MaxValue);

    // Measure each string with its font and NoPadding value and 
    // draw it to the form.
    for (int i = 0; i < stringsToPaint.Length; i++)
    {
        Size size = TextRenderer.MeasureText(e.Graphics, stringsToPaint[i], 
            fonts[i], proposedSize, flags);
        Rectangle rect = new Rectangle(startPoint, size);
        TextRenderer.DrawText(e.Graphics, stringsToPaint[i], fonts[i],
            startPoint, Color.Black, flags);
        startPoint.X += size.Width;
    }
    
}
Private Sub DrawALineOfText(ByVal e As PaintEventArgs)
    ' Declare strings to render on the form.
    Dim stringsToPaint() As String = {"Tail", "Spin", " Toys"}

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

    Dim startPoint As New Point(10, 10)

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

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

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

Комментарии

MeasureText Метод требует, чтобы текст нарисован на одной строке.The MeasureText method requires that the text is drawn on a single line.

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

Предоставляет размер (в пикселях) указанного текста при его отрисовке с помощью указанного шрифта, с использованием заданного размера для создания исходного ограничивающего прямоугольника.Provides the size, in pixels, of the specified text when drawn with the specified font, using the specified size to create an initial bounding rectangle.

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

Параметры

text
String String String

Текст для измерения.The text to measure.

font
Font Font Font

Объект Font для применения к измеряемому тексту.The Font to apply to the measured text.

proposedSize
Size Size Size

Размер Size исходного ограничивающего прямоугольника.The Size of the initial bounding rectangle.

Возвраты

Размер Size (в пикселях) объекта text, отрисовываемого с помощью указанного параметра font.The Size, in pixels, of text drawn with the specified font.

Примеры

В следующем примере кода показано, как использовать один из MeasureText методов.The following code example demonstrates how to use one of the MeasureText methods. Чтобы выполнить этот пример, вставьте код в форму Windows Forms и вызов DrawALineOfText из обработчика Paint событий формы, передав e его как PaintEventArgs.To run this example, paste the code into a Windows Form and call DrawALineOfText from the form's Paint event handler, passing e as PaintEventArgs.

private static void DrawALineOfText(PaintEventArgs e)
{
    // Declare strings to render on the form.
    string[] stringsToPaint = { "Tail", "Spin", " Toys" };

    // Declare fonts for rendering the strings.
    Font[] fonts = { new Font("Arial", 14, FontStyle.Regular), 
        new Font("Arial", 14, FontStyle.Italic), 
        new Font("Arial", 14, FontStyle.Regular) };

    Point startPoint = new Point(10, 10);

    // Set TextFormatFlags to no padding so strings are drawn together.
    TextFormatFlags flags = TextFormatFlags.NoPadding;

    // Declare a proposed size with dimensions set to the maximum integer value.
    Size proposedSize = new Size(int.MaxValue, int.MaxValue);

    // Measure each string with its font and NoPadding value and 
    // draw it to the form.
    for (int i = 0; i < stringsToPaint.Length; i++)
    {
        Size size = TextRenderer.MeasureText(e.Graphics, stringsToPaint[i], 
            fonts[i], proposedSize, flags);
        Rectangle rect = new Rectangle(startPoint, size);
        TextRenderer.DrawText(e.Graphics, stringsToPaint[i], fonts[i],
            startPoint, Color.Black, flags);
        startPoint.X += size.Width;
    }
    
}
Private Sub DrawALineOfText(ByVal e As PaintEventArgs)
    ' Declare strings to render on the form.
    Dim stringsToPaint() As String = {"Tail", "Spin", " Toys"}

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

    Dim startPoint As New Point(10, 10)

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

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

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

Комментарии

MeasureText МетодproposedSize использует параметр, чтобы указать связь с высотой по ширине при определении размера текста.The MeasureText method uses the proposedSize parameter to indicate the relationship of height to width when determining the text size. proposedSize При измерении текста в одной строке, если параметр представляет объект Size с измерением высоты больше Int32.MaxValue, возвращаемое Size значение будет скорректировано для отражения фактической высоты текста.When measuring text on a single line, if the proposedSize parameter represents a Size with a height dimension greater than Int32.MaxValue, the returned Size will be adjusted to reflect the actual height of the text.

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

Предоставляет размер (в пикселях) указанного текста при его отрисовке с помощью указанного шрифта в заданном контексте устройства, с использованием заданного размера для создания исходного ограничивающего прямоугольника для текста.Provides the size, in pixels, of the specified text when drawn with the specified font in the specified device context, using the specified size to create an initial bounding rectangle for the text.

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

Параметры

dc
IDeviceContext IDeviceContext IDeviceContext

Контекст устройства, в котором должен измеряться текст.The device context in which to measure the text.

text
String String String

Текст для измерения.The text to measure.

font
Font Font Font

Объект Font для применения к измеряемому тексту.The Font to apply to the measured text.

proposedSize
Size Size Size

Размер Size исходного ограничивающего прямоугольника.The Size of the initial bounding rectangle.

Возвраты

Размер Size (в пикселях) объекта text, отрисовываемого с помощью указанного параметра font.The Size, in pixels, of text drawn with the specified font.

Исключения

Свойство dc имеет значение null.dc is null.

Примеры

В следующем примере кода показано, как использовать один из MeasureText методов.The following code example demonstrates how to use one of the MeasureText methods. Чтобы выполнить этот пример, вставьте код в форму Windows Forms и вызов DrawALineOfText из обработчика Paint событий формы, передав e его как PaintEventArgs.To run this example, paste the code into a Windows Form and call DrawALineOfText from the form's Paint event handler, passing e as PaintEventArgs.

private static void DrawALineOfText(PaintEventArgs e)
{
    // Declare strings to render on the form.
    string[] stringsToPaint = { "Tail", "Spin", " Toys" };

    // Declare fonts for rendering the strings.
    Font[] fonts = { new Font("Arial", 14, FontStyle.Regular), 
        new Font("Arial", 14, FontStyle.Italic), 
        new Font("Arial", 14, FontStyle.Regular) };

    Point startPoint = new Point(10, 10);

    // Set TextFormatFlags to no padding so strings are drawn together.
    TextFormatFlags flags = TextFormatFlags.NoPadding;

    // Declare a proposed size with dimensions set to the maximum integer value.
    Size proposedSize = new Size(int.MaxValue, int.MaxValue);

    // Measure each string with its font and NoPadding value and 
    // draw it to the form.
    for (int i = 0; i < stringsToPaint.Length; i++)
    {
        Size size = TextRenderer.MeasureText(e.Graphics, stringsToPaint[i], 
            fonts[i], proposedSize, flags);
        Rectangle rect = new Rectangle(startPoint, size);
        TextRenderer.DrawText(e.Graphics, stringsToPaint[i], fonts[i],
            startPoint, Color.Black, flags);
        startPoint.X += size.Width;
    }
    
}
Private Sub DrawALineOfText(ByVal e As PaintEventArgs)
    ' Declare strings to render on the form.
    Dim stringsToPaint() As String = {"Tail", "Spin", " Toys"}

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

    Dim startPoint As New Point(10, 10)

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

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

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

Комментарии

MeasureText МетодproposedSize использует параметр, чтобы указать связь с высотой по ширине при определении размера текста.The MeasureText method uses the proposedSize parameter to indicate the relationship of height to width when determining the text size. proposedSize При измерении текста в одной строке, если параметр представляет объект Size с измерением высоты больше Int32.MaxValue, возвращаемое Size значение будет скорректировано для отражения фактической высоты текста.When measuring text on a single line, if the proposedSize parameter represents a Size with a height dimension greater than Int32.MaxValue, the returned Size will be adjusted to reflect the actual height of the text.

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

Предоставляет размер (в пикселях) указанного текста при его отрисовке с помощью указанного шрифта и инструкций форматирования, с использованием заданного размера для создания исходного ограничивающего прямоугольника для текста.Provides the size, in pixels, of the specified text when drawn with the specified font and formatting instructions, using the specified size to create the initial bounding rectangle for the text.

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

Параметры

text
String String String

Текст для измерения.The text to measure.

font
Font Font Font

Объект Font для применения к измеряемому тексту.The Font to apply to the measured text.

proposedSize
Size Size Size

Размер Size исходного ограничивающего прямоугольника.The Size of the initial bounding rectangle.

flags
TextFormatFlags TextFormatFlags TextFormatFlags

Инструкции форматирования для применения к измеряемому тексту.The formatting instructions to apply to the measured text.

Возвраты

Размер Size (в пикселях) объекта text, отрисовываемого с помощью задаваемых значений параметра font и формата.The Size, in pixels, of text drawn with the specified font and format.

Примеры

В следующем примере кода показано, как использовать один из MeasureText методов.The following code example demonstrates how to use one of the MeasureText methods. Чтобы выполнить этот пример, вставьте код в форму Windows Forms и вызов DrawALineOfText из обработчика Paint событий формы, передав e его как PaintEventArgs.To run this example, paste the code into a Windows Form and call DrawALineOfText from the form's Paint event handler, passing e as PaintEventArgs.

private static void DrawALineOfText(PaintEventArgs e)
{
    // Declare strings to render on the form.
    string[] stringsToPaint = { "Tail", "Spin", " Toys" };

    // Declare fonts for rendering the strings.
    Font[] fonts = { new Font("Arial", 14, FontStyle.Regular), 
        new Font("Arial", 14, FontStyle.Italic), 
        new Font("Arial", 14, FontStyle.Regular) };

    Point startPoint = new Point(10, 10);

    // Set TextFormatFlags to no padding so strings are drawn together.
    TextFormatFlags flags = TextFormatFlags.NoPadding;

    // Declare a proposed size with dimensions set to the maximum integer value.
    Size proposedSize = new Size(int.MaxValue, int.MaxValue);

    // Measure each string with its font and NoPadding value and 
    // draw it to the form.
    for (int i = 0; i < stringsToPaint.Length; i++)
    {
        Size size = TextRenderer.MeasureText(e.Graphics, stringsToPaint[i], 
            fonts[i], proposedSize, flags);
        Rectangle rect = new Rectangle(startPoint, size);
        TextRenderer.DrawText(e.Graphics, stringsToPaint[i], fonts[i],
            startPoint, Color.Black, flags);
        startPoint.X += size.Width;
    }
    
}
Private Sub DrawALineOfText(ByVal e As PaintEventArgs)
    ' Declare strings to render on the form.
    Dim stringsToPaint() As String = {"Tail", "Spin", " Toys"}

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

    Dim startPoint As New Point(10, 10)

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

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

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

Комментарии

MeasureTextиспользует параметры flags и для указания связи высоты с шириной при определении размера текста. proposedSizeMeasureText uses the proposedSize and flags parameters to indicate the relationship of height to width when determining the text size. proposedSize При измерении текста в одной строке, если параметр представляет объект Size с измерением высоты больше Int32.MaxValue, возвращаемое Size значение будет скорректировано для отражения фактической высоты текста.When measuring text on a single line, if the proposedSize parameter represents a Size with a height dimension greater than Int32.MaxValue, the returned Size will be adjusted to reflect the actual height of the text.

Управлять прорисовкой текста можно с помощью одной из перегрузок метода DrawText, принимающей параметр TextFormatFlags.You can manipulate how the text is drawn by using one of the DrawText overloads that takes a TextFormatFlags parameter. Например, поведение класса TextRenderer по умолчанию предполагает добавление внутренних полей в ограничивающий прямоугольник отображаемого текста с целью вместить в этот прямоугольник части глифов, выступающие за его границы.For example, the default behavior of the TextRenderer is to add padding to the bounding rectangle of the drawn text to accommodate overhanging glyphs. Если требуется прорисовать строку текста без этих дополнительных областей, следует использовать версии методов DrawText и MeasureText, которые принимают объект Size и параметр TextFormatFlags.If you need to draw a line of text without these extra spaces you should use the versions of DrawText and MeasureText that take a Size and TextFormatFlags parameter. Пример см. в разделе MeasureText(IDeviceContext, String, Font, Size, TextFormatFlags).For an example, see MeasureText(IDeviceContext, String, Font, Size, TextFormatFlags).

Примечание

Эта перегрузка метода MeasureText(String, Font, Size, TextFormatFlags) будет TextFormatFlags игнорировать значение NoPadding или LeftAndRightPadding.This overload of MeasureText(String, Font, Size, TextFormatFlags) will ignore a TextFormatFlags value of NoPadding or LeftAndRightPadding. Если задано значение заполнения, отличное от значения по умолчанию, следует использовать перегрузку MeasureText(IDeviceContext, String, Font, Size, TextFormatFlags) , которая IDeviceContext принимает объект.If you are specifying a padding value other than the default, you should use the overload of MeasureText(IDeviceContext, String, Font, Size, TextFormatFlags) that takes a IDeviceContext object.

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

Предоставляет размер (в пикселях) указанного текста при его отрисовке с помощью указанных значений контекста устройства, шрифта и инструкций форматирования, с использованием заданного размера для создания исходного ограничивающего прямоугольника для текста.Provides the size, in pixels, of the specified text when drawn with the specified device context, font, and formatting instructions, using the specified size to create the initial bounding rectangle for the text.

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

Параметры

dc
IDeviceContext IDeviceContext IDeviceContext

Контекст устройства, в котором должен измеряться текст.The device context in which to measure the text.

text
String String String

Текст для измерения.The text to measure.

font
Font Font Font

Объект Font для применения к измеряемому тексту.The Font to apply to the measured text.

proposedSize
Size Size Size

Размер Size исходного ограничивающего прямоугольника.The Size of the initial bounding rectangle.

flags
TextFormatFlags TextFormatFlags TextFormatFlags

Инструкции форматирования для применения к измеряемому тексту.The formatting instructions to apply to the measured text.

Возвраты

Размер Size (в пикселях) объекта text, отрисовываемого с помощью задаваемых значений параметра font и формата.The Size, in pixels, of text drawn with the specified font and format.

Исключения

Свойство dc имеет значение null.dc is null.

Примеры

В следующем примере показано, как использовать MeasureText методы и DrawText для рисования одной строки текста в различных стилях шрифта.The following example demonstrates how to use the MeasureText and DrawText methods to draw a single line of text in different font styles. Чтобы выполнить этот пример, вставьте следующий код в форму Windows Forms и DrawALineOfText вызов из обработчика Paint событий формы, передав e его PaintEventArgsкак.To run this example paste the following code in a Windows Form and call DrawALineOfText from the form's Paint event handler, passing e as PaintEventArgs.

private static void DrawALineOfText(PaintEventArgs e)
{
    // Declare strings to render on the form.
    string[] stringsToPaint = { "Tail", "Spin", " Toys" };

    // Declare fonts for rendering the strings.
    Font[] fonts = { new Font("Arial", 14, FontStyle.Regular), 
        new Font("Arial", 14, FontStyle.Italic), 
        new Font("Arial", 14, FontStyle.Regular) };

    Point startPoint = new Point(10, 10);

    // Set TextFormatFlags to no padding so strings are drawn together.
    TextFormatFlags flags = TextFormatFlags.NoPadding;

    // Declare a proposed size with dimensions set to the maximum integer value.
    Size proposedSize = new Size(int.MaxValue, int.MaxValue);

    // Measure each string with its font and NoPadding value and 
    // draw it to the form.
    for (int i = 0; i < stringsToPaint.Length; i++)
    {
        Size size = TextRenderer.MeasureText(e.Graphics, stringsToPaint[i], 
            fonts[i], proposedSize, flags);
        Rectangle rect = new Rectangle(startPoint, size);
        TextRenderer.DrawText(e.Graphics, stringsToPaint[i], fonts[i],
            startPoint, Color.Black, flags);
        startPoint.X += size.Width;
    }
    
}
Private Sub DrawALineOfText(ByVal e As PaintEventArgs)
    ' Declare strings to render on the form.
    Dim stringsToPaint() As String = {"Tail", "Spin", " Toys"}

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

    Dim startPoint As New Point(10, 10)

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

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

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

Комментарии

Метод использует Параметрыflags и, чтобы указать связь с высотой по ширине при определении размера текста. proposedSize MeasureTextThe MeasureText method uses the proposedSize and flags parameters to indicate the relationship of height to width when determining the text size. proposedSize При измерении текста в одной строке, если параметр представляет объект Size с измерением высоты больше Int32.MaxValue, возвращаемое Size значение будет скорректировано для отражения фактической высоты текста.When measuring text on a single line, if the proposedSize parameter represents a Size with a height dimension greater than Int32.MaxValue, the returned Size will be adjusted to reflect the actual height of the text.

Управлять прорисовкой текста можно с помощью одной из перегрузок метода DrawText, принимающей параметр TextFormatFlags.You can manipulate how the text is drawn by using one of the DrawText overloads that takes a TextFormatFlags parameter. Например, поведение класса TextRenderer по умолчанию предполагает добавление внутренних полей в ограничивающий прямоугольник отображаемого текста с целью вместить в этот прямоугольник части глифов, выступающие за его границы.For example, the default behavior of the TextRenderer is to add padding to the bounding rectangle of the drawn text to accommodate overhanging glyphs. Если необходимо нарисовать строку текста без этих дополнительных пробелов, используйте DrawText версии и MeasureText , которые принимают Size параметр и TextFormatFlags , как показано в примере.If you need to draw a line of text without these extra spaces, use the versions of DrawText and MeasureText that take a Size and TextFormatFlags parameter, as shown in the example.

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