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.

반환

지정된 text를 사용하여 한 줄에 그린 fontSize(픽셀)입니다.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) 매개 변수를 사용하는 SizeTextFormatFlags의 버전을 사용해야 합니다.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 Form에 코드를 붙여넣은 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.

반환

지정된 디바이스 컨텍스트에서 지정된 text를 사용하여 한 줄에 그린 fontSize(픽셀)입니다.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 Form에 코드를 붙여넣은 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.

반환

지정된 text를 사용하여 그린 fontSize(픽셀)입니다.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 Form에 코드를 붙여넣은 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.

반환

지정된 text를 사용하여 그린 fontSize(픽셀)입니다.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 Form에 코드를 붙여넣은 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.

반환

지정된 text와 형식을 사용하여 그린 fontSize(픽셀)입니다.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 Form에 코드를 붙여넣은 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 사용 하는 proposedSizeflags 텍스트 크기를 결정할 때 높이 너비의 관계를 나타내기 위해 매개 변수입니다.MeasureText 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. 이러한 추가 공간 없이 한 줄의 텍스트를 그려야 하는 경우 DrawTextMeasureText 매개 변수를 사용하는 SizeTextFormatFlags의 버전을 사용해야 합니다.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.

반환

지정된 text와 형식을 사용하여 그린 fontSize(픽셀)입니다.The Size, in pixels, of text drawn with the specified font and format.

예외

예제

다음 예제에서는 사용 하는 방법에 설명 합니다 MeasureTextDrawText 다른 글꼴 스타일에서을 한 줄 텍스트를 그리는 방법입니다.The following example demonstrates how to use the MeasureText and DrawText methods to draw a single line of text in different font styles. Windows Form 및 호출에서 다음 코드를 붙여넣고가이 예제를 실행 하려면 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

설명

합니다 MeasureText 메서드를 proposedSizeflags 텍스트 크기를 결정할 때 높이 너비의 관계를 나타내기 위해 매개 변수입니다.The 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 사용 하는 SizeTextFormatFlags 예제에 표시 된 대로 매개 변수입니다.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.

적용 대상