TextRenderer.MeasureText メソッド

定義

指定したフォントを使用して描画した場合の、指定したテキストを計測します。Measures the specified text when drawn with the specified font.

オーバーロード

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(ReadOnlySpan<Char>, Font, Size, TextFormatFlags)
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(IDeviceContext, ReadOnlySpan<Char>, 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, ReadOnlySpan<Char>, 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)

指定したフォントを使用して描画した場合の、指定したテキストのサイズ (ピクセル単位) を提供します。Provides the size, in pixels, of the specified text when drawn with the specified font.

MeasureText(ReadOnlySpan<Char>, Font)
MeasureText(IDeviceContext, ReadOnlySpan<Char>, Font, Size, TextFormatFlags)
MeasureText(ReadOnlySpan<Char>, Font, Size)
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, 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
Public Shared Function MeasureText (text As String, font As Font, proposedSize As Size, flags As TextFormatFlags) As Size

パラメーター

text
String

計測対象のテキスト。The text to measure.

font
Font

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

proposedSize
Size

初期の外接する四角形の SizeThe Size of the initial bounding rectangle.

flags
TextFormatFlags

計測するテキストに適用される書式指定。The formatting instructions to apply to the measured text.

戻り値

Size

指定した 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 は、パラメーターとパラメーターを使用して、 proposedSize flags テキストサイズを決定するときの高さと幅の関係を示します。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 またはの値は無視され 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(ReadOnlySpan<Char>, Font, Size, TextFormatFlags)

public:
 static System::Drawing::Size MeasureText(ReadOnlySpan<char> text, System::Drawing::Font ^ font, System::Drawing::Size proposedSize, System::Windows::Forms::TextFormatFlags flags);
public static System.Drawing.Size MeasureText (ReadOnlySpan<char> text, System.Drawing.Font? font, System.Drawing.Size proposedSize, System.Windows.Forms.TextFormatFlags flags);
static member MeasureText : ReadOnlySpan<char> * System.Drawing.Font * System.Drawing.Size * System.Windows.Forms.TextFormatFlags -> System.Drawing.Size
Public Shared Function MeasureText (text As ReadOnlySpan(Of Char), font As Font, proposedSize As Size, flags As TextFormatFlags) As Size

パラメーター

font
Font
proposedSize
Size

戻り値

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);
public static System.Drawing.Size MeasureText (System.Drawing.IDeviceContext dc, string text, System.Drawing.Font font, System.Drawing.Size proposedSize);
static member MeasureText : System.Drawing.IDeviceContext * string * System.Drawing.Font * System.Drawing.Size -> System.Drawing.Size
Public Shared Function MeasureText (dc As IDeviceContext, text As String, font As Font, proposedSize As Size) As Size

パラメーター

dc
IDeviceContext

テキストを計測するデバイス コンテキスト。The device context in which to measure the text.

text
String

計測対象のテキスト。The text to measure.

font
Font

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

proposedSize
Size

初期の外接する四角形の SizeThe Size of the initial bounding rectangle.

戻り値

Size

指定した text で描画される fontSize (ピクセル単位)。The Size, in pixels, of text drawn with the specified font.

例外

dcnullです。dc is null.

次のコード例は、メソッドのいずれかを使用する方法を示して 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, ReadOnlySpan<Char>, Font, Size)

public:
 static System::Drawing::Size MeasureText(System::Drawing::IDeviceContext ^ dc, ReadOnlySpan<char> text, System::Drawing::Font ^ font, System::Drawing::Size proposedSize);
public static System.Drawing.Size MeasureText (System.Drawing.IDeviceContext? dc, ReadOnlySpan<char> text, System.Drawing.Font? font, System.Drawing.Size proposedSize);
static member MeasureText : System.Drawing.IDeviceContext * ReadOnlySpan<char> * System.Drawing.Font * System.Drawing.Size -> System.Drawing.Size
Public Shared Function MeasureText (dc As IDeviceContext, text As ReadOnlySpan(Of Char), font As Font, proposedSize As Size) As Size

パラメーター

font
Font
proposedSize
Size

戻り値

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
Public Shared Function MeasureText (text As String, font As Font, proposedSize As Size) As Size

パラメーター

text
String

計測対象のテキスト。The text to measure.

font
Font

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

proposedSize
Size

初期の外接する四角形の SizeThe Size of the initial bounding rectangle.

戻り値

Size

指定した 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, ReadOnlySpan<Char>, Font)

public:
 static System::Drawing::Size MeasureText(System::Drawing::IDeviceContext ^ dc, ReadOnlySpan<char> text, System::Drawing::Font ^ font);
public static System.Drawing.Size MeasureText (System.Drawing.IDeviceContext? dc, ReadOnlySpan<char> text, System.Drawing.Font? font);
static member MeasureText : System.Drawing.IDeviceContext * ReadOnlySpan<char> * System.Drawing.Font -> System.Drawing.Size
Public Shared Function MeasureText (dc As IDeviceContext, text As ReadOnlySpan(Of Char), font As Font) As Size

パラメーター

font
Font

戻り値

Size

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);
public static System.Drawing.Size MeasureText (System.Drawing.IDeviceContext dc, string text, System.Drawing.Font font);
static member MeasureText : System.Drawing.IDeviceContext * string * System.Drawing.Font -> System.Drawing.Size
Public Shared Function MeasureText (dc As IDeviceContext, text As String, font As Font) As Size

パラメーター

dc
IDeviceContext

テキストを計測するデバイス コンテキスト。The device context in which to measure the text.

text
String

計測対象のテキスト。The text to measure.

font
Font

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

戻り値

Size

指定したデバイス コンテキストで指定された 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)

指定したフォントを使用して描画した場合の、指定したテキストのサイズ (ピクセル単位) を提供します。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
Public Shared Function MeasureText (text As String, font As Font) As Size

パラメーター

text
String

計測対象のテキスト。The text to measure.

font
Font

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

戻り値

Size

指定した 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(ReadOnlySpan<Char>, Font)

public:
 static System::Drawing::Size MeasureText(ReadOnlySpan<char> text, System::Drawing::Font ^ font);
public static System.Drawing.Size MeasureText (ReadOnlySpan<char> text, System.Drawing.Font? font);
static member MeasureText : ReadOnlySpan<char> * System.Drawing.Font -> System.Drawing.Size
Public Shared Function MeasureText (text As ReadOnlySpan(Of Char), font As Font) As Size

パラメーター

font
Font

戻り値

Size

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

public:
 static System::Drawing::Size MeasureText(System::Drawing::IDeviceContext ^ dc, ReadOnlySpan<char> text, System::Drawing::Font ^ font, System::Drawing::Size proposedSize, System::Windows::Forms::TextFormatFlags flags);
public static System.Drawing.Size MeasureText (System.Drawing.IDeviceContext? dc, ReadOnlySpan<char> text, System.Drawing.Font? font, System.Drawing.Size proposedSize, System.Windows.Forms.TextFormatFlags flags);
static member MeasureText : System.Drawing.IDeviceContext * ReadOnlySpan<char> * System.Drawing.Font * System.Drawing.Size * System.Windows.Forms.TextFormatFlags -> System.Drawing.Size
Public Shared Function MeasureText (dc As IDeviceContext, text As ReadOnlySpan(Of Char), font As Font, proposedSize As Size, flags As TextFormatFlags) As Size

パラメーター

font
Font
proposedSize
Size

戻り値

Size

MeasureText(ReadOnlySpan<Char>, Font, Size)

public:
 static System::Drawing::Size MeasureText(ReadOnlySpan<char> text, System::Drawing::Font ^ font, System::Drawing::Size proposedSize);
public static System.Drawing.Size MeasureText (ReadOnlySpan<char> text, System.Drawing.Font? font, System.Drawing.Size proposedSize);
static member MeasureText : ReadOnlySpan<char> * System.Drawing.Font * System.Drawing.Size -> System.Drawing.Size
Public Shared Function MeasureText (text As ReadOnlySpan(Of Char), font As Font, proposedSize As Size) As Size

パラメーター

font
Font
proposedSize
Size

戻り値

Size

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);
public static System.Drawing.Size MeasureText (System.Drawing.IDeviceContext dc, string text, System.Drawing.Font font, System.Drawing.Size proposedSize, System.Windows.Forms.TextFormatFlags flags);
static member MeasureText : System.Drawing.IDeviceContext * string * System.Drawing.Font * System.Drawing.Size * System.Windows.Forms.TextFormatFlags -> System.Drawing.Size
Public Shared Function MeasureText (dc As IDeviceContext, text As String, font As Font, proposedSize As Size, flags As TextFormatFlags) As Size

パラメーター

dc
IDeviceContext

テキストを計測するデバイス コンテキスト。The device context in which to measure the text.

text
String

計測対象のテキスト。The text to measure.

font
Font

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

proposedSize
Size

初期の外接する四角形の SizeThe Size of the initial bounding rectangle.

flags
TextFormatFlags

計測するテキストに適用される書式指定。The formatting instructions to apply to the measured text.

戻り値

Size

指定した text と書式で描画される fontSize (ピクセル単位)。The Size, in pixels, of text drawn with the specified font and format.

例外

dcnullです。dc is null.

次の例では、メソッドとメソッドを使用して、 MeasureText DrawText 異なるフォントスタイルで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 パラメーターとパラメーターを使用して、 proposedSize flags テキストサイズを決定するときの高さと幅の関係を示します。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. これらの余分なスペースを含まないテキスト行を描画する必要がある場合は、次の 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.

適用対象