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

Объект Font, определяющий формат текстовой строки.Font that defines the text format of the string.

Возвраты

Этот метод возвращает структуру SizeF, представляющую размер в единицах, задаваемых свойством PageUnit для строки, которая определяется параметром text в процессе рисования с использованием шрифта 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.

Исключения

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

Примеры

Следующий пример кода предназначен для использования с Windows Forms и требует 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.

  • Создает объект Font и присваивает ему значение Arial (16 точек).Creates a font object and sets it to Arial (16 point).

  • Создает объект размера, использует его и объект Font для измерения размера строки.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которые принимают и GenericTypographicпередают.To 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. Кроме того, убедитесь TextRenderingHint , что Graphics для AntiAliasимеет значение.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

Объект Font определяет формат текстовой строки.Font defines the text format of the string.

layoutArea
SizeF SizeF SizeF

Структура SizeF, которая задает максимальную область размещения для текста.SizeF structure that specifies the maximum layout area for the text.

Возвраты

Этот метод возвращает структуру SizeF, представляющую размер в единицах, задаваемых свойством PageUnit для строки, которая определяется параметром text в процессе рисования с использованием шрифта 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.

Исключения

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

Примеры

Следующий пример кода предназначен для использования с Windows Forms и требует 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:

  • Создает строку для измерения, а объект Font имеет значение Arial (16 точек).Creates a string to measure and a font object set to Arial (16 point).

  • Задает максимальный размер макета строки.Sets the maximum layout size of the string.

  • Создает объект размера и использует его, объект Font и максимальный размер макета для измерения размера строки.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которые принимают и GenericTypographicпередают.To 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. Кроме того, убедитесь TextRenderingHint , что Graphics для AntiAliasимеет значение.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

Объект Font, определяющий формат текстовой строки.Font that defines the format of the string.

width
Int32 Int32 Int32

Максимальная ширина строки (в пикселях).Maximum width of the string in pixels.

Возвраты

Этот метод возвращает структуру SizeF, представляющую размер в единицах, задаваемых свойством PageUnit для строки, которая определяется параметром text в процессе рисования с использованием шрифта 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.

Исключения

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

Примеры

Следующий пример кода предназначен для использования с Windows Forms и требует 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:

  • Создает строку для измерения, а объект Font имеет значение Arial (16 точек).Creates a string to measure and a font object set to Arial (16 point).

  • Задает максимальную ширину строки.Sets the maximum width of the string.

  • Создает объект размера, использует его, объект Font и максимальную ширину строки для измерения размера строки.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). widthThe width parameter specifies the maximum value of the width component of the returned SizeF structure (Width). Если параметр меньше фактической ширины строки, возвращаемый Width компонент усекается до значения, представляющего максимальное число символов, которое будет соответствовать заданной ширине. widthIf 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которые принимают и GenericTypographicпередают.To 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. Кроме того, убедитесь TextRenderingHint , что Graphics для AntiAliasимеет значение.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

Объект Font определяет формат текстовой строки.Font 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

Объект StringFormat, представляющий сведения о форматировании для строки, такие как междустрочный интервал.StringFormat that represents formatting information, such as line spacing, for the string.

Возвраты

Этот метод возвращает структуру SizeF, представляющую размер в единицах, задаваемых свойством PageUnit для строки, которая определяется параметром text при отображении с шрифтом 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.

Исключения

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

Примеры

Следующий пример кода предназначен для использования с Windows Forms и требует 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.

  • Создает объект Size для измерения строки.Creates a size object to measure the string.

  • Измеряет размер строки, используя строку, объект Font, точку поиска и формат строки.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которые принимают и GenericTypographicпередают.To 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. Кроме того, убедитесь TextRenderingHint , что Graphics для AntiAliasимеет значение.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

Объект Font определяет формат текстовой строки.Font 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

Объект StringFormat, представляющий сведения о форматировании для строки, такие как междустрочный интервал.StringFormat that represents formatting information, such as line spacing, for the string.

Возвраты

Этот метод возвращает структуру SizeF, представляющую размер в единицах, задаваемых свойством PageUnit для строки, которая определяется параметром text при отображении с шрифтом 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.

Исключения

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

Примеры

Следующий пример кода предназначен для использования с Windows Forms и требует 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:

  • Создает строку для измерения, а объект Font имеет значение 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.

  • Измеряет размер строки, используя строку, объект Font, максимальный размер макета и формат строки.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которые принимают и GenericTypographicпередают.To 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. Кроме того, убедитесь TextRenderingHint , что Graphics для AntiAliasимеет значение.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

Объект Font, определяющий формат текстовой строки.Font that defines the text format of the string.

width
Int32 Int32 Int32

Максимальная ширина строки.Maximum width of the string.

format
StringFormat StringFormat StringFormat

Объект StringFormat, представляющий сведения о форматировании для строки, такие как междустрочный интервал.StringFormat that represents formatting information, such as line spacing, for the string.

Возвраты

Этот метод возвращает структуру SizeF, представляющую размер в единицах, задаваемых свойством PageUnit для строки, которая определяется параметром text при отображении с шрифтом 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.

Исключения

Примеры

Следующий пример кода предназначен для использования с Windows Forms и требует 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:

  • Создает строку для измерения и объект Font, присвойте ему значение 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.

  • Создает объект Size для измерения строки.Creates a size object to measure the string.

  • Измеряет размер строки, используя строку, объект Font, максимальную ширину и формат строки.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которые принимают и GenericTypographicпередают.To 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. Кроме того, убедитесь TextRenderingHint , что Graphics для AntiAliasимеет значение.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 * int * int -> System.Drawing.SizeF

Параметры

text
String String String

Строка для измерения.String to measure.

font
Font Font Font

Объект Font, определяющий формат текстовой строки.Font 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

Объект StringFormat, представляющий сведения о форматировании для строки, такие как междустрочный интервал.StringFormat 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.

Возвраты

Этот метод возвращает структуру SizeF, представляющую размер строки в единицах, задаваемых свойством PageUnit параметра text, при отображении с использованием шрифта 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.

Исключения

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

Примеры

Следующий пример кода предназначен для использования с Windows Forms и требует 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.

  • Создает целочисленные переменные charactersFitted и linesFilled объект Size для измерения строки.Creates the integer variables charactersFitted and linesFilled and a size object to measure the string.

  • Измеряет размер строки и определяет допустимое количество символов и строк, используя строку, объект Font, максимальный размер макета и строковый формат.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 которые принимают GenericTypographicи передают.To 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. Также убедитесь, TextRenderingHint что Graphics для имеет AntiAliasзначение.Also ensure the TextRenderingHint for the Graphics is AntiAlias.

Дополнительно

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