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

計測するテキストに適用される FontThe Font to apply to the measured text.

戻り値

指定した text で 1 行に描画される fontSize (ピクセル単位)。The Size, in pixels, of text drawn on a single line with the specified font. DrawText(IDeviceContext, String, Font, Rectangle, Color, TextFormatFlags) パラメーターを受け取る TextFormatFlags オーバーロードの 1 つを使用して、テキストの描画方法を操作できます。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 フォームと呼び出しにコードを貼り付けます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メソッドは、1 行にテキストを描画することが必要です。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

計測するテキストに適用される FontThe Font to apply to the measured text.

戻り値

指定したデバイス コンテキストで指定された text を使用して 1 行に描画される 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 フォームと呼び出しにコードを貼り付けます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メソッドは、1 行にテキストを描画することが必要です。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

計測するテキストに適用される FontThe Font to apply to the measured text.

proposedSize
Size Size Size

初期の外接する四角形の SizeThe 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 フォームと呼び出しにコードを貼り付けます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. 場合に 1 つの行のテキストを測定するときに、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

計測するテキストに適用される FontThe Font to apply to the measured text.

proposedSize
Size Size Size

初期の外接する四角形の SizeThe 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 フォームと呼び出しにコードを貼り付けます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. 場合に 1 つの行のテキストを測定するときに、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

計測するテキストに適用される FontThe Font to apply to the measured text.

proposedSize
Size Size Size

初期の外接する四角形の SizeThe 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 フォームと呼び出しにコードを貼り付けます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. 場合に 1 つの行のテキストを測定するときに、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 オーバーロードの 1 つを使用して、テキストの描画方法を操作できます。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 @propertyNoPaddingまたは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

計測するテキストに適用される FontThe Font to apply to the measured text.

proposedSize
Size Size Size

初期の外接する四角形の SizeThe 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フォントのスタイルで 1 行のテキストを描画するメソッド。The following example demonstrates how to use the MeasureText and DrawText methods to draw a single line of text in different font styles. Windows フォームと呼び出しで、次のコードを貼り付けますこの例を実行する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. 場合に 1 つの行のテキストを測定するときに、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 オーバーロードの 1 つを使用して、テキストの描画方法を操作できます。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, use the versions of DrawText and MeasureText that take a Size and TextFormatFlags parameter, as shown in the example.

適用対象