Graphics.MeasureString Graphics.MeasureString Graphics.MeasureString Method

定義

指定した Font で描画した場合の、指定した文字列を計測します。Measures the specified string when drawn with the specified Font.

オーバーロード

MeasureString(String, Font) MeasureString(String, Font) MeasureString(String, Font)

指定した Font で描画した場合の、指定した文字列を計測します。Measures the specified string when drawn with the specified Font.

MeasureString(String, Font, SizeF) MeasureString(String, Font, SizeF) MeasureString(String, Font, SizeF)

指定したレイアウト領域内に指定した Font で描画した場合の、指定した文字列を計測します。Measures the specified string when drawn with the specified Font within the specified layout area.

MeasureString(String, Font, Int32) MeasureString(String, Font, Int32) MeasureString(String, Font, Int32)

指定した Font で描画した場合の、指定した文字列を計測します。Measures the specified string when drawn with the specified Font.

MeasureString(String, Font, PointF, StringFormat) MeasureString(String, Font, PointF, StringFormat) MeasureString(String, Font, PointF, StringFormat)

指定した Font を使用し、指定した StringFormat で書式指定して描画した場合の、指定した文字列を計測します。Measures the specified string when drawn with the specified Font and formatted with the specified StringFormat.

MeasureString(String, Font, SizeF, StringFormat) MeasureString(String, Font, SizeF, StringFormat) MeasureString(String, Font, SizeF, StringFormat)

指定した Font を使用し、指定した StringFormat で書式指定して描画した場合の、指定した文字列を計測します。Measures the specified string when drawn with the specified Font and formatted with the specified StringFormat.

MeasureString(String, Font, Int32, StringFormat) MeasureString(String, Font, Int32, StringFormat) MeasureString(String, Font, Int32, StringFormat)

指定した Font を使用し、指定した StringFormat で書式指定して描画した場合の、指定した文字列を計測します。Measures the specified string when drawn with the specified Font and formatted with the specified StringFormat.

MeasureString(String, Font, SizeF, StringFormat, Int32, Int32) MeasureString(String, Font, SizeF, StringFormat, Int32, Int32) MeasureString(String, Font, SizeF, StringFormat, Int32, Int32)

指定した Font を使用し、指定した StringFormat で書式指定して描画した場合の、指定した文字列を計測します。Measures the specified string when drawn with the specified Font and formatted with the specified StringFormat.

MeasureString(String, Font) MeasureString(String, Font) MeasureString(String, Font)

指定した Font で描画した場合の、指定した文字列を計測します。Measures the specified string when drawn with the specified Font.

public:
 System::Drawing::SizeF MeasureString(System::String ^ text, System::Drawing::Font ^ font);
public System.Drawing.SizeF MeasureString (string text, System.Drawing.Font font);
member this.MeasureString : string * System.Drawing.Font -> System.Drawing.SizeF

パラメーター

text
String String String

計測する文字列。String to measure.

font
Font Font Font

文字列のテキスト形式を定義する FontFont that defines the text format of the string.

戻り値

このメソッドは、text パラメーターに指定された文字列のサイズを SizeF プロパティで指定された単位で表す PageUnit 構造体を、font パラメーターで描画されたとおりに返します。This method returns a SizeF structure that represents the size, in the units specified by the PageUnit property, of the string specified by the text parameter as drawn with the font parameter.

例外

fontnullです。font is null.

次のコード例は、Windows フォームで使用するために設計されています。 また必要がPaintEventArgs e、はのパラメーター、Paintイベント ハンドラー。The following code example is designed for use with Windows Forms, and it requires PaintEventArgse, which is a parameter of the Paint event handler. コードは、次のアクションを実行します。The code performs the following actions:

  • 計測する文字列を作成します。Creates a string to measure.

  • フォント オブジェクトを作成し、Arial (16 ポイント) に設定します。Creates a font object and sets it to Arial (16 point).

  • サイズのオブジェクトを作成し、文字列のサイズを測定してフォント オブジェクトを使用します。Creates a size object and uses it and the font object to measure the size of the string.

  • 文字列の測定のサイズを使用して、赤い四角形を描画します。Draws a red rectangle using the measured size of the string.

  • 描画する四角形内の文字列を描画します。Draws the string within the drawn rectangle.

public:
   void MeasureStringMin( PaintEventArgs^ e )
   {
      // Set up string.
      String^ measureString = "Measure String";
      System::Drawing::Font^ stringFont = gcnew System::Drawing::Font( "Arial",16 );

      // Measure string.
      SizeF stringSize = e->Graphics->MeasureString( measureString, stringFont );

      // Draw rectangle representing size of string.
      e->Graphics->DrawRectangle( gcnew Pen( Color::Red,1.0f ), 0.0F, 0.0F, stringSize.Width, stringSize.Height );

      // Draw string to screen.
      e->Graphics->DrawString( measureString, stringFont, Brushes::Black, PointF(0,0) );
   }
private void MeasureStringMin(PaintEventArgs e)
{

    // Set up string.
    string measureString = "Measure String";
    Font stringFont = new Font("Arial", 16);

    // Measure string.
    SizeF stringSize = new SizeF();
    stringSize = e.Graphics.MeasureString(measureString, stringFont);

    // Draw rectangle representing size of string.
    e.Graphics.DrawRectangle(new Pen(Color.Red, 1), 0.0F, 0.0F, stringSize.Width, stringSize.Height);

    // Draw string to screen.
    e.Graphics.DrawString(measureString, stringFont, Brushes.Black, new PointF(0, 0));
}
Private Sub MeasureStringMin(ByVal e As PaintEventArgs)

    ' Set up string.
    Dim measureString As String = "Measure String"
    Dim stringFont As New Font("Arial", 16)

    ' Measure string.
    Dim stringSize As New SizeF
    stringSize = e.Graphics.MeasureString(measureString, stringFont)

    ' Draw rectangle representing size of string.
    e.Graphics.DrawRectangle(New Pen(Color.Red, 1), 0.0F, 0.0F, _
    stringSize.Width, stringSize.Height)

    ' Draw string to screen.
    e.Graphics.DrawString(measureString, stringFont, Brushes.Black, _
    New PointF(0, 0))
End Sub

注釈

MeasureStringメソッドは、個人で使用が文字列し、グリフ期間の延長を許可する文字列の前後に少量の余分なスペースを含むために設計されています。The MeasureString method is designed for use with individual strings and includes a small amount of extra space before and after the string to allow for overhanging glyphs. また、DrawStringメソッドは、表示品質を最適化するためにグリフのポイントを調整し、によって報告されたよりも幅の狭い文字列を表示することがありますMeasureStringします。Also, the DrawString method adjusts glyph points to optimize display quality and might display a string narrower than reported by MeasureString. (たとえば、書式設定されたテキストを実装する場合) のレイアウトで隣接する文字列を適切なメトリックを取得する、MeasureCharacterRangesメソッドまたはのいずれか、MeasureStringを受け取るメソッドをStringFormat、渡すGenericTypographicTo obtain metrics suitable for adjacent strings in layout (for example, when implementing formatted text), use the MeasureCharacterRanges method or one of the MeasureString methods that takes a StringFormat, and pass GenericTypographic. また、確認、TextRenderingHintGraphicsAntiAliasします。Also, ensure the TextRenderingHint for the Graphics is AntiAlias.

こちらもご覧ください

MeasureString(String, Font, SizeF) MeasureString(String, Font, SizeF) MeasureString(String, Font, SizeF)

指定したレイアウト領域内に指定した Font で描画した場合の、指定した文字列を計測します。Measures the specified string when drawn with the specified Font within the specified layout area.

public:
 System::Drawing::SizeF MeasureString(System::String ^ text, System::Drawing::Font ^ font, System::Drawing::SizeF layoutArea);
public System.Drawing.SizeF MeasureString (string text, System.Drawing.Font font, System.Drawing.SizeF layoutArea);
member this.MeasureString : string * System.Drawing.Font * System.Drawing.SizeF -> System.Drawing.SizeF

パラメーター

text
String String String

計測する文字列。String to measure.

font
Font Font Font

文字列のテキスト形式を定義する FontFont defines the text format of the string.

layoutArea
SizeF SizeF SizeF

テキストの最大レイアウト領域を指定する SizeF 構造体。SizeF structure that specifies the maximum layout area for the text.

戻り値

このメソッドは、text パラメーターに指定された文字列のサイズを SizeF プロパティで指定された単位で表す PageUnit 構造体を、font パラメーターで描画されたとおりに返します。This method returns a SizeF structure that represents the size, in the units specified by the PageUnit property, of the string specified by the text parameter as drawn with the font parameter.

例外

fontnullです。font is null.

次のコード例は、Windows フォームで使用するために設計されています。 また必要がPaintEventArgs e、はのパラメーター、Paintイベント ハンドラー。The following code example is designed for use with Windows Forms, and it requires PaintEventArgse, which is a parameter of the Paint event handler. コードは、次のアクションを実行します。The code performs the following actions:

  • 計測する文字列と Arial (16 ポイント) に設定するフォント オブジェクトを作成します。Creates a string to measure and a font object set to Arial (16 point).

  • 文字列のレイアウトの最大サイズを設定します。Sets the maximum layout size of the string.

  • サイズのオブジェクトを作成し、文字列のサイズを測定する、フォント オブジェクト、およびレイアウトの最大サイズを使用します。Creates a size object and uses it, the font object, and the maximum layout size to measure the size of the string.

  • 文字列の測定のサイズを使用して、赤い四角形を描画します。Draws a red rectangle using the measured size of the string.

  • 描画する四角形内の文字列を描画します。Draws the string within the drawn rectangle.

public:
   void MeasureStringSizeF( PaintEventArgs^ e )
   {

      // Set up string.
      String^ measureString = "Measure String";
      System::Drawing::Font^ stringFont = gcnew System::Drawing::Font( "Arial",16 );

      // Set maximum layout size.
      SizeF layoutSize = SizeF(200.0F,50.0F);

      // Measure string.
      SizeF stringSize = e->Graphics->MeasureString( measureString, stringFont, layoutSize );

      // Draw rectangle representing size of string.
      e->Graphics->DrawRectangle( gcnew Pen( Color::Red,1.0f ), 0.0F, 0.0F, stringSize.Width, stringSize.Height );

      // Draw string to screen.
      e->Graphics->DrawString( measureString, stringFont, Brushes::Black, PointF(0,0) );
   }
private void MeasureStringSizeF(PaintEventArgs e)
{

    // Set up string.
    string measureString = "Measure String";
    Font stringFont = new Font("Arial", 16);

    // Set maximum layout size.
    SizeF layoutSize = new SizeF(200.0F, 50.0F);

    // Measure string.
    SizeF stringSize = new SizeF();
    stringSize = e.Graphics.MeasureString(measureString, stringFont, layoutSize);

    // Draw rectangle representing size of string.
    e.Graphics.DrawRectangle(new Pen(Color.Red, 1), 0.0F, 0.0F, stringSize.Width, stringSize.Height);

    // Draw string to screen.
    e.Graphics.DrawString(measureString, stringFont, Brushes.Black, new PointF(0, 0));
}
Private Sub MeasureStringSizeF(ByVal e As PaintEventArgs)

    ' Set up string.
    Dim measureString As String = "Measure String"
    Dim stringFont As New Font("Arial", 16)

    ' Set maximum layout size.
    Dim layoutSize As New SizeF(200.0F, 50.0F)

    ' Measure string.
    Dim stringSize As New SizeF
    stringSize = e.Graphics.MeasureString(measureString, stringFont, _
    layoutSize)

    ' Draw rectangle representing size of string.
    e.Graphics.DrawRectangle(New Pen(Color.Red, 1), 0.0F, 0.0F, _
    stringSize.Width, stringSize.Height)

    ' Draw string to screen.
    e.Graphics.DrawString(measureString, stringFont, Brushes.Black, _
    New PointF(0, 0))
End Sub

注釈

MeasureStringメソッドは、個人で使用が文字列し、グリフ期間の延長を許可する文字列の前後に少量の余分なスペースを含むために設計されています。The MeasureString method is designed for use with individual strings and includes a small amount of extra space before and after the string to allow for overhanging glyphs. また、DrawStringメソッドは、表示品質を最適化するためにグリフのポイントを調整し、によって報告されたよりも幅の狭い文字列を表示することがありますMeasureStringします。Also, the DrawString method adjusts glyph points to optimize display quality and might display a string narrower than reported by MeasureString. (たとえば、書式設定されたテキストを実装する場合) のレイアウトで隣接する文字列を適切なメトリックを取得する、MeasureCharacterRangesメソッドまたはのいずれか、MeasureStringを受け取るメソッドをStringFormat、渡すGenericTypographicTo obtain metrics suitable for adjacent strings in layout (for example, when implementing formatted text), use the MeasureCharacterRanges method or one of the MeasureString methods that takes a StringFormat, and pass GenericTypographic. また、確認、TextRenderingHintGraphicsAntiAliasします。Also, ensure the TextRenderingHint for the Graphics is AntiAlias.

こちらもご覧ください

MeasureString(String, Font, Int32) MeasureString(String, Font, Int32) MeasureString(String, Font, Int32)

指定した Font で描画した場合の、指定した文字列を計測します。Measures the specified string when drawn with the specified Font.

public:
 System::Drawing::SizeF MeasureString(System::String ^ text, System::Drawing::Font ^ font, int width);
public System.Drawing.SizeF MeasureString (string text, System.Drawing.Font font, int width);
member this.MeasureString : string * System.Drawing.Font * int -> System.Drawing.SizeF

パラメーター

text
String String String

計測する文字列。String to measure.

font
Font Font Font

文字列の書式を定義する FontFont that defines the format of the string.

width
Int32 Int32 Int32

文字列の最大幅 (ピクセル単位)。Maximum width of the string in pixels.

戻り値

このメソッドは、text パラメーターに指定された文字列のサイズを SizeF プロパティで指定された単位で表す PageUnit 構造体を、font パラメーターで描画されたとおりに返します。This method returns a SizeF structure that represents the size, in the units specified by the PageUnit property, of the string specified in the text parameter as drawn with the font parameter.

例外

fontnullです。font is null.

次のコード例は、Windows フォームで使用するために設計されています。 また必要がPaintEventArgs e、はのパラメーター、Paintイベント ハンドラー。The following code example is designed for use with Windows Forms, and it requires PaintEventArgse, which is a parameter of the Paint event handler. コードは、次のアクションを実行します。The code performs the following actions:

  • 計測する文字列と Arial (16 ポイント) に設定するフォント オブジェクトを作成します。Creates a string to measure and a font object set to Arial (16 point).

  • 文字列の最大の幅を設定します。Sets the maximum width of the string.

  • サイズのオブジェクトを作成し、文字列のサイズを測定する、フォント オブジェクトと文字列の最大の幅を使用します。Creates a size object and uses it, the font object, and the maximum string width to measure the size of the string.

  • 文字列の測定のサイズを使用して、赤い四角形を描画します。Draws a red rectangle using the measured size of the string.

  • 描画する四角形内の文字列を描画します。Draws the string within the drawn rectangle.

public:
   void MeasureStringWidth( PaintEventArgs^ e )
   {
      // Set up string.
      String^ measureString = "Measure String";
      System::Drawing::Font^ stringFont = gcnew System::Drawing::Font( "Arial",16 );

      // Set maximum width of string.
      int stringWidth = 200;

      // Measure string.
      SizeF stringSize = e->Graphics->MeasureString( measureString, stringFont, stringWidth );

      // Draw rectangle representing size of string.
      e->Graphics->DrawRectangle( gcnew Pen( Color::Red,1.0f ), 0.0F, 0.0F, stringSize.Width, stringSize.Height );

      // Draw string to screen.
      e->Graphics->DrawString( measureString, stringFont, Brushes::Black, PointF(0,0) );
   }
private void MeasureStringWidth(PaintEventArgs e)
{

    // Set up string.
    string measureString = "Measure String";
    Font stringFont = new Font("Arial", 16);

    // Set maximum width of string.
    int stringWidth = 200;

    // Measure string.
    SizeF stringSize = new SizeF();
    stringSize = e.Graphics.MeasureString(measureString, stringFont, stringWidth);

    // Draw rectangle representing size of string.
    e.Graphics.DrawRectangle(new Pen(Color.Red, 1), 0.0F, 0.0F, stringSize.Width, stringSize.Height);

    // Draw string to screen.
    e.Graphics.DrawString(measureString, stringFont, Brushes.Black, new PointF(0, 0));
}
Private Sub MeasureStringWidth(ByVal e As PaintEventArgs)

    ' Set up string.
    Dim measureString As String = "Measure String"
    Dim stringFont As New Font("Arial", 16)

    ' Set maximum width of string.
    Dim stringWidth As Integer = 200

    ' Measure string.
    Dim stringSize As New SizeF
    stringSize = e.Graphics.MeasureString(measureString, _
    stringFont, stringWidth)

    ' Draw rectangle representing size of string.
    e.Graphics.DrawRectangle(New Pen(Color.Red, 1), 0.0F, 0.0F, _
    stringSize.Width, stringSize.Height)

    ' Draw string to screen.
    e.Graphics.DrawString(measureString, stringFont, Brushes.Black, _
    New PointF(0, 0))
End Sub

注釈

widthパラメーターが、返されたの幅コンポーネントの最大値を指定しますSizeF構造 (Width)。The width parameter specifies the maximum value of the width component of the returned SizeF structure (Width). 場合、widthパラメーターが、返された文字列の実際の幅より小さいWidthコンポーネントは、指定された幅に収まる文字の最大数を表す値に切り捨てられます。If the width parameter is less than the actual width of the string, the returned Width component is truncated to a value representing the maximum number of characters that will fit within the specified width. 返された全体文字列を対応するためにHeightコンポーネントは文字の回り込みと文字列の表示を許可する値に調整されます。To accommodate the entire string, the returned Height component is adjusted to a value that allows displaying the string with character wrap.

MeasureStringメソッドは、個人で使用が文字列し、グリフ期間の延長を許可する文字列の前後に少量の余分なスペースを含むために設計されています。The MeasureString method is designed for use with individual strings and includes a small amount of extra space before and after the string to allow for overhanging glyphs. また、DrawStringメソッドは、表示品質を最適化するためにグリフのポイントを調整し、によって報告されたよりも幅の狭い文字列を表示することがありますMeasureStringします。Also, the DrawString method adjusts glyph points to optimize display quality and might display a string narrower than reported by MeasureString. (たとえば、書式設定されたテキストを実装する場合) のレイアウトで隣接する文字列を適切なメトリックを取得する、MeasureCharacterRangesメソッドまたはのいずれか、MeasureStringを受け取るメソッドをStringFormat、渡すGenericTypographicTo obtain metrics suitable for adjacent strings in layout (for example, when implementing formatted text), use the MeasureCharacterRanges method or one of the MeasureString methods that takes a StringFormat, and pass GenericTypographic. また、確認、TextRenderingHintGraphicsAntiAliasします。Also, ensure the TextRenderingHint for the Graphics is AntiAlias.

こちらもご覧ください

MeasureString(String, Font, PointF, StringFormat) MeasureString(String, Font, PointF, StringFormat) MeasureString(String, Font, PointF, StringFormat)

指定した Font を使用し、指定した StringFormat で書式指定して描画した場合の、指定した文字列を計測します。Measures the specified string when drawn with the specified Font and formatted with the specified StringFormat.

public:
 System::Drawing::SizeF MeasureString(System::String ^ text, System::Drawing::Font ^ font, System::Drawing::PointF origin, System::Drawing::StringFormat ^ stringFormat);
public System.Drawing.SizeF MeasureString (string text, System.Drawing.Font font, System.Drawing.PointF origin, System.Drawing.StringFormat stringFormat);
member this.MeasureString : string * System.Drawing.Font * System.Drawing.PointF * System.Drawing.StringFormat -> System.Drawing.SizeF

パラメーター

text
String String String

計測する文字列。String to measure.

font
Font Font Font

文字列のテキスト形式を定義する FontFont defines the text format of the string.

origin
PointF PointF PointF

文字列の左上隅を表す PointF 構造体。PointF structure that represents the upper-left corner of the string.

stringFormat
StringFormat StringFormat StringFormat

行間など、文字列の書式情報を表す StringFormatStringFormat that represents formatting information, such as line spacing, for the string.

戻り値

このメソッドは、text パラメーターに指定された文字列のサイズを SizeF プロパティで指定された単位で表す PageUnit 構造体を、font パラメーターおよび stringFormat パラメーターで描画されたとおりに返します。This method returns a SizeF structure that represents the size, in the units specified by the PageUnit property, of the string specified by the text parameter as drawn with the font parameter and the stringFormat parameter.

例外

fontnullです。font is null.

次のコード例は、Windows フォームで使用するために設計されています。 また必要がPaintEventArgs e、はのパラメーター、Paintイベント ハンドラー。The following code example is designed for use with Windows Forms, and it requires PaintEventArgse, which is a parameter of the Paint event handler. コードは、次のアクションを実行します。The code performs the following actions:

  • 計測する文字列と Arial (16 ポイント) に設定のフォント オブジェクトを作成します。Creates a string to measure and a font object set to Arial (16 point)

  • 文字列の左上隅を配置する点を作成します。Creates a point to locate the upper-left corner of the string.

  • 文字列形式オブジェクトを作成し、その書式設定フラグに設定DirectionVerticalします。Creates a string format object and sets its format flags to DirectionVertical.

  • 文字列を計測するサイズのオブジェクトを作成します。Creates a size object to measure the string.

  • 文字列やフォント オブジェクト、位置指定の点では、文字列の形式を使用して、文字列のサイズを測定します。Measures the size of the string, using the string, the font object, the locating point, and the string format.

  • 位置指定の点と、文字列のサイズを測定を使用して、赤い四角形を描画します。Draws a red rectangle using the locating point and the measured size of the string.

  • 描画する四角形内の文字列を描画します。Draws the string within the drawn rectangle.

縦の垂直方向の文字列を囲む四角形になります。The result is a vertical rectangle enclosing a vertical string.

public:
   void MeasureStringPointFFormat( PaintEventArgs^ e )
   {

      // Set up string.
      String^ measureString = "Measure String";
      System::Drawing::Font^ stringFont = gcnew System::Drawing::Font( "Arial",16 );

      // Set point for upper-left corner of string.
      float x = 50.0F;
      float y = 50.0F;
      PointF ulCorner = PointF(x,y);

      // Set string format.
      StringFormat^ newStringFormat = gcnew StringFormat;
      newStringFormat->FormatFlags = StringFormatFlags::DirectionVertical;

      // Measure string.
      SizeF stringSize = e->Graphics->MeasureString( measureString, stringFont, ulCorner, newStringFormat );

      // Draw rectangle representing size of string.
      e->Graphics->DrawRectangle( gcnew Pen( Color::Red,1.0f ), x, y, stringSize.Width, stringSize.Height );

      // Draw string to screen.
      e->Graphics->DrawString( measureString, stringFont, Brushes::Black, ulCorner, newStringFormat );
   }
private void MeasureStringPointFFormat(PaintEventArgs e)
{

    // Set up string.
    string measureString = "Measure String";
    Font stringFont = new Font("Arial", 16);

    // Set point for upper-left corner of string.
    float x = 50.0F;
    float y = 50.0F;
    PointF ulCorner = new PointF(x, y);

    // Set string format.
    StringFormat newStringFormat = new StringFormat();
    newStringFormat.FormatFlags = StringFormatFlags.DirectionVertical;

    // Measure string.
    SizeF stringSize = new SizeF();
    stringSize = e.Graphics.MeasureString(measureString, stringFont, ulCorner, newStringFormat);

    // Draw rectangle representing size of string.
    e.Graphics.DrawRectangle(new Pen(Color.Red, 1), x, y, stringSize.Width, stringSize.Height);

    // Draw string to screen.
    e.Graphics.DrawString(measureString, stringFont, Brushes.Black, ulCorner, newStringFormat);
}
Private Sub MeasureStringPointFFormat(ByVal e As PaintEventArgs)

    ' Set up string.
    Dim measureString As String = "Measure String"
    Dim stringFont As New Font("Arial", 16)

    ' Set point for upper-left corner of string.
    Dim x As Single = 50.0F
    Dim y As Single = 50.0F
    Dim ulCorner As New PointF(x, y)

    ' Set string format.
    Dim newStringFormat As New StringFormat
    newStringFormat.FormatFlags = StringFormatFlags.DirectionVertical

    ' Measure string.
    Dim stringSize As New SizeF
    stringSize = e.Graphics.MeasureString(measureString, stringFont, _
    ulCorner, newStringFormat)

    ' Draw rectangle representing size of string.
    e.Graphics.DrawRectangle(New Pen(Color.Red, 1), x, y, _
    stringSize.Width, stringSize.Height)

    ' Draw string to screen.
    e.Graphics.DrawString(measureString, stringFont, Brushes.Black, _
    ulCorner, newStringFormat)
End Sub

注釈

MeasureStringメソッドは、個人で使用が文字列し、グリフ期間の延長を許可する文字列の前後に少量の余分なスペースを含むために設計されています。The MeasureString method is designed for use with individual strings and includes a small amount of extra space before and after the string to allow for overhanging glyphs. また、DrawStringメソッドは、表示品質を最適化するためにグリフのポイントを調整し、によって報告されたよりも幅の狭い文字列を表示することがありますMeasureStringします。Also, the DrawString method adjusts glyph points to optimize display quality and might display a string narrower than reported by MeasureString. (たとえば、書式設定されたテキストを実装する場合) のレイアウトで隣接する文字列を適切なメトリックを取得する、MeasureCharacterRangesメソッドまたはのいずれか、MeasureStringを受け取るメソッドをStringFormat、渡すGenericTypographicTo obtain metrics suitable for adjacent strings in layout (for example, when implementing formatted text), use the MeasureCharacterRanges method or one of the MeasureString methods that takes a StringFormat, and pass GenericTypographic. また、確認、TextRenderingHintGraphicsAntiAliasします。Also, ensure the TextRenderingHint for the Graphics is AntiAlias.

こちらもご覧ください

MeasureString(String, Font, SizeF, StringFormat) MeasureString(String, Font, SizeF, StringFormat) MeasureString(String, Font, SizeF, StringFormat)

指定した Font を使用し、指定した StringFormat で書式指定して描画した場合の、指定した文字列を計測します。Measures the specified string when drawn with the specified Font and formatted with the specified StringFormat.

public:
 System::Drawing::SizeF MeasureString(System::String ^ text, System::Drawing::Font ^ font, System::Drawing::SizeF layoutArea, System::Drawing::StringFormat ^ stringFormat);
public System.Drawing.SizeF MeasureString (string text, System.Drawing.Font font, System.Drawing.SizeF layoutArea, System.Drawing.StringFormat stringFormat);
member this.MeasureString : string * System.Drawing.Font * System.Drawing.SizeF * System.Drawing.StringFormat -> System.Drawing.SizeF

パラメーター

text
String String String

計測する文字列。String to measure.

font
Font Font Font

文字列のテキスト形式を定義する FontFont defines the text format of the string.

layoutArea
SizeF SizeF SizeF

テキストの最大レイアウト領域を指定する SizeF 構造体。SizeF structure that specifies the maximum layout area for the text.

stringFormat
StringFormat StringFormat StringFormat

行間など、文字列の書式情報を表す StringFormatStringFormat that represents formatting information, such as line spacing, for the string.

戻り値

このメソッドは、text パラメーターに指定された文字列のサイズを SizeF プロパティで指定された単位で表す PageUnit 構造体を、font パラメーターおよび stringFormat パラメーターで描画されたとおりに返します。This method returns a SizeF structure that represents the size, in the units specified by the PageUnit property, of the string specified in the text parameter as drawn with the font parameter and the stringFormat parameter.

例外

fontnullです。font is null.

次のコード例は、Windows フォームで使用するために設計されています。 また必要がPaintEventArgs e、はのパラメーター、Paintイベント ハンドラー。The following code example is designed for use with Windows Forms, and it requires PaintEventArgse, which is a parameter of the Paint event handler. コードは、次のアクションを実行します。The code performs the following actions:

  • 計測する文字列と Arial (16 ポイント) に設定するフォント オブジェクトを作成します。Creates a string to measure and a font object set to Arial (16 point).

  • 文字列を計測するサイズのオブジェクトを作成する、文字列のレイアウトの最大サイズを設定します。Sets the maximum layout size of the string, creating a size object to measure the string.

  • 文字列形式オブジェクトを作成し、その書式設定フラグに設定DirectionVerticalします。Creates a string format object and sets its format flags to DirectionVertical.

  • 文字列、フォント オブジェクト、レイアウトの最大サイズ、および文字列の形式を使用して、文字列のサイズを測定します。Measures the size of the string, using the string, the font object, the maximum layout size, and the string format.

  • 文字列の測定のサイズを使用して、赤い四角形を描画します。Draws a red rectangle using the measured size of the string.

  • 描画する四角形内の文字列を描画します。Draws the string within the drawn rectangle.

縦の垂直方向の文字列を囲む四角形になります。The result is a vertical rectangle enclosing a vertical string.

public:
   void MeasureStringSizeFFormat( PaintEventArgs^ e )
   {
      // Set up string.
      String^ measureString = "Measure String";
      System::Drawing::Font^ stringFont = gcnew System::Drawing::Font( "Arial",16 );

      // Set maximum layout size.
      SizeF layoutSize = SizeF(100.0F,200.0F);

      // Set string format.
      StringFormat^ newStringFormat = gcnew StringFormat;
      newStringFormat->FormatFlags = StringFormatFlags::DirectionVertical;

      // Measure string.
      SizeF stringSize = e->Graphics->MeasureString( measureString, stringFont, layoutSize, newStringFormat );

      // Draw rectangle representing size of string.
      e->Graphics->DrawRectangle( gcnew Pen( Color::Red,1.0f ), 0.0F, 0.0F, stringSize.Width, stringSize.Height );

      // Draw string to screen.
      e->Graphics->DrawString( measureString, stringFont, Brushes::Black, PointF(0,0), newStringFormat );
   }
private void MeasureStringSizeFFormat(PaintEventArgs e)
{

    // Set up string.
    string measureString = "Measure String";
    Font stringFont = new Font("Arial", 16);

    // Set maximum layout size.
    SizeF layoutSize = new SizeF(100.0F, 200.0F);

    // Set string format.
    StringFormat newStringFormat = new StringFormat();
    newStringFormat.FormatFlags = StringFormatFlags.DirectionVertical;

    // Measure string.
    SizeF stringSize = new SizeF();
    stringSize = e.Graphics.MeasureString(measureString, stringFont, layoutSize, newStringFormat);

    // Draw rectangle representing size of string.
    e.Graphics.DrawRectangle(new Pen(Color.Red, 1), 0.0F, 0.0F, stringSize.Width, stringSize.Height);

    // Draw string to screen.
    e.Graphics.DrawString(measureString, stringFont, Brushes.Black, new PointF(0, 0), newStringFormat);
}
Private Sub MeasureStringSizeFFormat(ByVal e As PaintEventArgs)

    ' Set up string.
    Dim measureString As String = "Measure String"
    Dim stringFont As New Font("Arial", 16)

    ' Set maximum layout size.
    Dim layoutSize As New SizeF(100.0F, 200.0F)

    ' Set string format.
    Dim newStringFormat As New StringFormat
    newStringFormat.FormatFlags = StringFormatFlags.DirectionVertical

    ' Measure string.
    Dim stringSize As New SizeF
    stringSize = e.Graphics.MeasureString(measureString, stringFont, _
    layoutSize, newStringFormat)

    ' Draw rectangle representing size of string.
    e.Graphics.DrawRectangle(New Pen(Color.Red, 1), 0.0F, 0.0F, _
    stringSize.Width, stringSize.Height)

    ' Draw string to screen.
    e.Graphics.DrawString(measureString, stringFont, Brushes.Black, _
    New PointF(0, 0), newStringFormat)
End Sub

注釈

MeasureStringメソッドは、個人で使用が文字列し、グリフ期間の延長を許可する文字列の前後に少量の余分なスペースを含むために設計されています。The MeasureString method is designed for use with individual strings and includes a small amount of extra space before and after the string to allow for overhanging glyphs. また、DrawStringメソッドは、表示品質を最適化するためにグリフのポイントを調整し、によって報告されたよりも幅の狭い文字列を表示することがありますMeasureStringします。Also, the DrawString method adjusts glyph points to optimize display quality and might display a string narrower than reported by MeasureString. (たとえば、書式設定されたテキストを実装する場合) のレイアウトで隣接する文字列を適切なメトリックを取得する、MeasureCharacterRangesメソッドまたはのいずれか、MeasureStringを受け取るメソッドをStringFormat、渡すGenericTypographicTo obtain metrics suitable for adjacent strings in layout (for example, when implementing formatted text), use the MeasureCharacterRanges method or one of the MeasureString methods that takes a StringFormat, and pass GenericTypographic. また、確認、TextRenderingHintGraphicsAntiAliasします。Also, ensure the TextRenderingHint for the Graphics is AntiAlias.

こちらもご覧ください

MeasureString(String, Font, Int32, StringFormat) MeasureString(String, Font, Int32, StringFormat) MeasureString(String, Font, Int32, StringFormat)

指定した Font を使用し、指定した StringFormat で書式指定して描画した場合の、指定した文字列を計測します。Measures the specified string when drawn with the specified Font and formatted with the specified StringFormat.

public:
 System::Drawing::SizeF MeasureString(System::String ^ text, System::Drawing::Font ^ font, int width, System::Drawing::StringFormat ^ format);
public System.Drawing.SizeF MeasureString (string text, System.Drawing.Font font, int width, System.Drawing.StringFormat format);
member this.MeasureString : string * System.Drawing.Font * int * System.Drawing.StringFormat -> System.Drawing.SizeF

パラメーター

text
String String String

計測する文字列。String to measure.

font
Font Font Font

文字列のテキスト形式を定義する FontFont that defines the text format of the string.

width
Int32 Int32 Int32

文字列の最大幅。Maximum width of the string.

format
StringFormat StringFormat StringFormat

行間など、文字列の書式情報を表す StringFormatStringFormat that represents formatting information, such as line spacing, for the string.

戻り値

このメソッドは、text パラメーターに指定された文字列のサイズを SizeF プロパティで指定された単位で表す PageUnit 構造体を、font パラメーターおよび stringFormat パラメーターで描画されたとおりに返します。This method returns a SizeF structure that represents the size, in the units specified by the PageUnit property, of the string specified in the text parameter as drawn with the font parameter and the stringFormat parameter.

例外

fontnullです。font is null.

次のコード例は、Windows フォームで使用するために設計されています。 また必要がPaintEventArgs e、はのパラメーター、Paintイベント ハンドラー。The following code example is designed for use with Windows Forms, and it requires PaintEventArgse, which is a parameter of the Paint event handler. コードは、次のアクションを実行します。The code performs the following actions:

  • メジャーと、フォントに文字列を作成します。 オブジェクトは Arial (16 ポイント) に設定します。Creates a string to measure and a font object set it to Arial (16 point).

  • 文字列の最大の幅を設定します。Sets the maximum width of the string.

  • 文字列形式オブジェクトを作成し、その書式設定フラグに設定DirectionVerticalします。Creates a string format object and sets its format flags to DirectionVertical.

  • 文字列を計測するサイズのオブジェクトを作成します。Creates a size object to measure the string.

  • 文字列、フォント オブジェクト、最大の幅、および文字列の形式を使用して、文字列のサイズを測定します。Measures the size of the string, using the string, the font object, the maximum width, and the string format.

  • 文字列の測定のサイズを使用して、赤い四角形を描画します。Draws a red rectangle using the measured size of the string.

  • 描画する四角形内の文字列を描画します。Draws the string within the drawn rectangle.

縦の垂直方向の文字列を囲む四角形になります。The result is a vertical rectangle enclosing a vertical string.

public:
   void MeasureStringWidthFormat( PaintEventArgs^ e )
   {
      // Set up string.
      String^ measureString = "Measure String";
      System::Drawing::Font^ stringFont = gcnew System::Drawing::Font( "Arial",16 );

      // Set maximum width of string.
      int stringWidth = 100;

      // Set string format.
      StringFormat^ newStringFormat = gcnew StringFormat;
      newStringFormat->FormatFlags = StringFormatFlags::DirectionVertical;

      // Measure string.
      SizeF stringSize = e->Graphics->MeasureString( measureString, stringFont, stringWidth, newStringFormat );

      // Draw rectangle representing size of string.
      e->Graphics->DrawRectangle( gcnew Pen( Color::Red,1.0f ), 0.0F, 0.0F, stringSize.Width, stringSize.Height );

      // Draw string to screen.
      e->Graphics->DrawString( measureString, stringFont, Brushes::Black, PointF(0,0), newStringFormat );
   }
private void MeasureStringWidthFormat(PaintEventArgs e)
{

    // Set up string.
    string measureString = "Measure String";
    Font stringFont = new Font("Arial", 16);

    // Set maximum width of string.
    int stringWidth = 100;

    // Set string format.
    StringFormat newStringFormat = new StringFormat();
    newStringFormat.FormatFlags = StringFormatFlags.DirectionVertical;

    // Measure string.
    SizeF stringSize = new SizeF();
    stringSize = e.Graphics.MeasureString(measureString, stringFont, stringWidth, newStringFormat);

    // Draw rectangle representing size of string.
    e.Graphics.DrawRectangle(new Pen(Color.Red, 1), 0.0F, 0.0F, stringSize.Width, stringSize.Height);

    // Draw string to screen.
    e.Graphics.DrawString(measureString, stringFont, Brushes.Black, new PointF(0, 0), newStringFormat);
}
Private Sub MeasureStringWidthFormat(ByVal e As PaintEventArgs)

    ' Set up string.
    Dim measureString As String = "Measure String"
    Dim stringFont As New Font("Arial", 16)

    ' Set maximum width of string.
    Dim stringWidth As Integer = 100

    ' Set string format.
    Dim newStringFormat As New StringFormat
    newStringFormat.FormatFlags = StringFormatFlags.DirectionVertical

    ' Measure string.
    Dim stringSize As New SizeF
    stringSize = e.Graphics.MeasureString(measureString, stringFont, _
    stringWidth, newStringFormat)

    ' Draw rectangle representing size of string.
    e.Graphics.DrawRectangle(New Pen(Color.Red, 1), 0.0F, 0.0F, _
    stringSize.Width, stringSize.Height)

    ' Draw string to screen.
    e.Graphics.DrawString(measureString, stringFont, Brushes.Black, _
    New PointF(0, 0), newStringFormat)
End Sub

注釈

MeasureStringメソッドは、個人で使用が文字列し、グリフ期間の延長を許可する文字列の前後に少量の余分なスペースを含むために設計されています。The MeasureString method is designed for use with individual strings and includes a small amount of extra space before and after the string to allow for overhanging glyphs. また、DrawStringメソッドは、表示品質を最適化するためにグリフのポイントを調整し、によって報告されたよりも幅の狭い文字列を表示することがありますMeasureStringします。Also, the DrawString method adjusts glyph points to optimize display quality and might display a string narrower than reported by MeasureString. (たとえば、書式設定されたテキストを実装する場合) のレイアウトで隣接する文字列を適切なメトリックを取得する、MeasureCharacterRangesメソッドまたはのいずれか、MeasureStringを受け取るメソッドをStringFormat、渡すGenericTypographicTo obtain metrics suitable for adjacent strings in layout (for example, when implementing formatted text), use the MeasureCharacterRanges method or one of the MeasureString methods that takes a StringFormat, and pass GenericTypographic. また、確認、TextRenderingHintGraphicsAntiAliasします。Also, ensure the TextRenderingHint for the Graphics is AntiAlias.

こちらもご覧ください

MeasureString(String, Font, SizeF, StringFormat, Int32, Int32) MeasureString(String, Font, SizeF, StringFormat, Int32, Int32) MeasureString(String, Font, SizeF, StringFormat, Int32, Int32)

指定した Font を使用し、指定した StringFormat で書式指定して描画した場合の、指定した文字列を計測します。Measures the specified string when drawn with the specified Font and formatted with the specified StringFormat.

public:
 System::Drawing::SizeF MeasureString(System::String ^ text, System::Drawing::Font ^ font, System::Drawing::SizeF layoutArea, System::Drawing::StringFormat ^ stringFormat, [Runtime::InteropServices::Out] int % charactersFitted, [Runtime::InteropServices::Out] int % linesFilled);
public System.Drawing.SizeF MeasureString (string text, System.Drawing.Font font, System.Drawing.SizeF layoutArea, System.Drawing.StringFormat stringFormat, out int charactersFitted, out int linesFilled);
member this.MeasureString : string * System.Drawing.Font * System.Drawing.SizeF * System.Drawing.StringFormat *  *  -> System.Drawing.SizeF

パラメーター

text
String String String

計測する文字列。String to measure.

font
Font Font Font

文字列のテキスト形式を定義する FontFont that defines the text format of the string.

layoutArea
SizeF SizeF SizeF

テキストの最大レイアウト領域を指定する SizeF 構造体。SizeF structure that specifies the maximum layout area for the text.

stringFormat
StringFormat StringFormat StringFormat

行間など、文字列の書式情報を表す StringFormatStringFormat that represents formatting information, such as line spacing, for the string.

charactersFitted
Int32 Int32 Int32

文字列の文字数。Number of characters in the string.

linesFilled
Int32 Int32 Int32

文字列のテキスト行数。Number of text lines in the string.

戻り値

このメソッドは、text パラメーターに指定された文字列のサイズを SizeF プロパティで指定された単位で表す PageUnit 構造体を、font パラメーターおよび stringFormat パラメーターで描画されたとおりに返します。This method returns a SizeF structure that represents the size of the string, in the units specified by the PageUnit property, of the text parameter as drawn with the font parameter and the stringFormat parameter.

例外

fontnullです。font is null.

次のコード例は、Windows フォームで使用するために設計されています。 また必要がPaintEventArgs e、はのパラメーター、Paintイベント ハンドラー。The following code example is designed for use with Windows Forms, and it requires PaintEventArgse, which is a parameter of the Paint event handler. コードは、次のアクションを実行します。The code performs the following actions:

  • 計測する文字列と Arial (16 ポイント) に設定のフォント オブジェクトを作成します。Creates a string to measure and a font object set to Arial (16 point)

  • 文字列のレイアウトの最大サイズを設定します。Sets the maximum layout size of the string.

  • 文字列形式オブジェクトを作成し、その書式設定フラグに設定DirectionVerticalします。Creates a string format object and sets its format flags to DirectionVertical.

  • 整数変数を作成しますcharactersFittedlinesFilledと文字列を計測するサイズのオブジェクト。Creates the integer variables charactersFitted and linesFilled and a size object to measure the string.

  • 文字列のサイズを測定し、どのように収める文字と文字列、フォント オブジェクト、レイアウトの最大サイズ、および文字列の形式を使用して、入力行の数を決定します。Measures the size of the string and determines the number of characters fitted and lines filled, using the string, the font object, the maximum layout size, and the string format.

  • 文字列の測定のサイズを使用して、赤い四角形を描画します。Draws a red rectangle using the measured size of the string.

  • 描画する四角形内の文字列を描画します。Draws the string within the drawn rectangle.

  • 文字と行数の数の値を描画します。Draws the values of the number of characters fitted and lines filled.

縦の垂直方向の文字列を囲む四角形になります。The result is a vertical rectangle enclosing a vertical string.

public:
   void MeasureStringSizeFFormatInts( PaintEventArgs^ e )
   {
      // Set up string.
      String^ measureString = "Measure String";
      System::Drawing::Font^ stringFont = gcnew System::Drawing::Font( "Arial",16 );

      // Set maximum layout size.
      SizeF layoutSize = SizeF(100.0F,200.0F);

      // Set string format.
      StringFormat^ newStringFormat = gcnew StringFormat;
      newStringFormat->FormatFlags = StringFormatFlags::DirectionVertical;

      // Measure string.
      int charactersFitted;
      int linesFilled;
      SizeF stringSize = e->Graphics->MeasureString( measureString, stringFont, layoutSize, newStringFormat, charactersFitted, linesFilled );

      // Draw rectangle representing size of string.
      e->Graphics->DrawRectangle( gcnew Pen( Color::Red,1.0f ), 0.0F, 0.0F, stringSize.Width, stringSize.Height );

      // Draw string to screen.
      e->Graphics->DrawString( measureString, stringFont, Brushes::Black, PointF(0,0), newStringFormat );

      // Draw output parameters to screen.
      String^ outString = String::Format( "chars {0}, lines {1}", charactersFitted, linesFilled );
      e->Graphics->DrawString( outString, stringFont, Brushes::Black, PointF(100,0) );
   }
private void MeasureStringSizeFFormatInts(PaintEventArgs e)
{

    // Set up string.
    string measureString = "Measure String";
    Font stringFont = new Font("Arial", 16);

    // Set maximum layout size.
    SizeF layoutSize = new SizeF(100.0F, 200.0F);

    // Set string format.
    StringFormat newStringFormat = new StringFormat();
    newStringFormat.FormatFlags = StringFormatFlags.DirectionVertical;

    // Measure string.
    int charactersFitted;
    int linesFilled;
    SizeF stringSize = new SizeF();
    stringSize = e.Graphics.MeasureString(measureString, stringFont, layoutSize, newStringFormat, out charactersFitted, out linesFilled);

    // Draw rectangle representing size of string.
    e.Graphics.DrawRectangle(new Pen(Color.Red, 1), 0.0F, 0.0F, stringSize.Width, stringSize.Height);

    // Draw string to screen.
    e.Graphics.DrawString(measureString, stringFont, Brushes.Black, new PointF(0, 0), newStringFormat);

    // Draw output parameters to screen.
    string outString = "chars " + charactersFitted + ", lines " + linesFilled;
    e.Graphics.DrawString(outString, stringFont, Brushes.Black, new PointF(100, 0));
}
Private Sub MeasureStringSizeFFormatInts(ByVal e As PaintEventArgs)

    ' Set up string.
    Dim measureString As String = "Measure String"
    Dim stringFont As New Font("Arial", 16)

    ' Set maximum layout size.
    Dim layoutSize As New SizeF(100.0F, 200.0F)

    ' Set string format.
    Dim newStringFormat As New StringFormat
    newStringFormat.FormatFlags = StringFormatFlags.DirectionVertical

    ' Measure string.
    Dim charactersFitted As Integer
    Dim linesFilled As Integer
    Dim stringSize As New SizeF
    stringSize = e.Graphics.MeasureString(measureString, stringFont, _
    layoutSize, newStringFormat, charactersFitted, linesFilled)

    ' Draw rectangle representing size of string.
    e.Graphics.DrawRectangle(New Pen(Color.Red, 1), 0.0F, 0.0F, _
    stringSize.Width, stringSize.Height)

    ' Draw string to screen.
    e.Graphics.DrawString(measureString, stringFont, Brushes.Black, _
    New PointF(0, 0), newStringFormat)

    ' Draw output parameters to screen.
    Dim outString As String = "chars " & charactersFitted & _
    ", lines " & linesFilled
    e.Graphics.DrawString(outString, stringFont, Brushes.Black, _
    New PointF(100, 0))
End Sub

注釈

MeasureStringメソッドは、個人で使用が文字列し、グリフ期間の延長を許可する文字列の前後に少量の余分なスペースを含むために設計されています。The MeasureString method is designed for use with individual strings and includes a small amount of extra space before and after the string to allow for overhanging glyphs. また、DrawStringメソッドは、表示品質を最適化するためにグリフのポイントを調整し、によって報告されたよりも幅の狭い文字列を表示することがありますMeasureStringします。Also, the DrawString method adjusts glyph points to optimize display quality and might display a string narrower than reported by MeasureString. (たとえば、書式設定されたテキストを実装する場合) のレイアウトで隣接する文字列を適切なメトリックを取得する、MeasureCharacterRangesメソッドまたはのいずれか、MeasureStringを受け取るメソッドをStringFormat渡すGenericTypographicTo obtain metrics suitable for adjacent strings in layout (for example, when implementing formatted text), use the MeasureCharacterRanges method or one of the MeasureString methods that takes a StringFormat and pass GenericTypographic. また、TextRenderingHintGraphicsAntiAliasします。Also ensure the TextRenderingHint for the Graphics is AntiAlias.

こちらもご覧ください

適用対象