Teilen über


Graphics.MeasureString Methode

Definition

Misst die angegebene Zeichenfolge, wenn sie mit der angegebenen Fontgezeichnet wird.

Überlädt

MeasureString(ReadOnlySpan<Char>, Font, SizeF, StringFormat)

Misst die angegebene Zeichenfolge, wenn sie mit dem angegebenen Font gezeichnet und mit dem angegebenen StringFormatformatiert ist.

MeasureString(ReadOnlySpan<Char>, Font)

Misst die angegebene Zeichenfolge, wenn sie mit der angegebenen Fontgezeichnet wird.

MeasureString(String, Font)

Misst die angegebene Zeichenfolge, wenn sie mit der angegebenen Fontgezeichnet wird.

MeasureString(ReadOnlySpan<Char>, Font, SizeF)

Misst die angegebene Zeichenfolge, wenn sie mit dem angegebenen Font innerhalb des angegebenen Layoutbereichs gezeichnet wird.

MeasureString(ReadOnlySpan<Char>, Font, Int32)

Misst die angegebene Zeichenfolge, wenn sie mit der angegebenen Fontgezeichnet wird.

MeasureString(String, Font, SizeF)

Misst die angegebene Zeichenfolge, wenn sie mit dem angegebenen Font innerhalb des angegebenen Layoutbereichs gezeichnet wird.

MeasureString(String, Font, Int32)

Misst die angegebene Zeichenfolge, wenn sie mit der angegebenen Fontgezeichnet wird.

MeasureString(ReadOnlySpan<Char>, Font, PointF, StringFormat)

Misst die angegebene Zeichenfolge, wenn sie mit dem angegebenen Font gezeichnet und mit dem angegebenen StringFormatformatiert ist.

MeasureString(ReadOnlySpan<Char>, Font, Int32, StringFormat)

Misst die angegebene Zeichenfolge, wenn sie mit dem angegebenen Font gezeichnet und mit dem angegebenen StringFormatformatiert ist.

MeasureString(String, Font, PointF, StringFormat)

Misst die angegebene Zeichenfolge, wenn sie mit dem angegebenen Font gezeichnet und mit dem angegebenen StringFormatformatiert ist.

MeasureString(String, Font, SizeF, StringFormat)

Misst die angegebene Zeichenfolge, wenn sie mit dem angegebenen Font gezeichnet und mit dem angegebenen StringFormatformatiert ist.

MeasureString(String, Font, Int32, StringFormat)

Misst die angegebene Zeichenfolge, wenn sie mit dem angegebenen Font gezeichnet und mit dem angegebenen StringFormatformatiert ist.

MeasureString(ReadOnlySpan<Char>, Font, SizeF, StringFormat, Int32, Int32)

Misst die angegebene Zeichenfolge, wenn sie mit dem angegebenen Font gezeichnet und mit dem angegebenen StringFormatformatiert ist.

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

Misst die angegebene Zeichenfolge, wenn sie mit dem angegebenen Font gezeichnet und mit dem angegebenen StringFormatformatiert ist.

MeasureString(ReadOnlySpan<Char>, Font, SizeF, StringFormat)

Quelle:
Graphics.cs
Quelle:
Graphics.cs
Quelle:
Graphics.cs

Misst die angegebene Zeichenfolge, wenn sie mit dem angegebenen Font gezeichnet und mit dem angegebenen StringFormatformatiert ist.

public:
 System::Drawing::SizeF MeasureString(ReadOnlySpan<char> text, System::Drawing::Font ^ font, System::Drawing::SizeF layoutArea, System::Drawing::StringFormat ^ stringFormat);
public System.Drawing.SizeF MeasureString (ReadOnlySpan<char> text, System.Drawing.Font font, System.Drawing.SizeF layoutArea, System.Drawing.StringFormat? stringFormat);
member this.MeasureString : ReadOnlySpan<char> * System.Drawing.Font * System.Drawing.SizeF * System.Drawing.StringFormat -> System.Drawing.SizeF
Public Function MeasureString (text As ReadOnlySpan(Of Char), font As Font, layoutArea As SizeF, stringFormat As StringFormat) As SizeF

Parameter

text
ReadOnlySpan<Char>

Zu messende Zeichenfolge.

font
Font

Font definiert das Textformat der Zeichenfolge.

layoutArea
SizeF

SizeF Struktur, die den maximalen Layoutbereich für den Text angibt.

stringFormat
StringFormat

StringFormat, die Formatierungsinformationen wie zeilenabstand für die Zeichenfolge darstellt.

Gibt zurück

Diese Methode gibt eine SizeF Struktur zurück, die die Größe der durch die PageUnit -Eigenschaft angegebenen Einheiten der im text Parameter angegebenen Zeichenfolge wie mit dem font-Parameter und dem stringFormat-Parameter gezeichnet darstellt.

Gilt für:

MeasureString(ReadOnlySpan<Char>, Font)

Quelle:
Graphics.cs
Quelle:
Graphics.cs
Quelle:
Graphics.cs

Misst die angegebene Zeichenfolge, wenn sie mit der angegebenen Fontgezeichnet wird.

public:
 System::Drawing::SizeF MeasureString(ReadOnlySpan<char> text, System::Drawing::Font ^ font);
public System.Drawing.SizeF MeasureString (ReadOnlySpan<char> text, System.Drawing.Font font);
member this.MeasureString : ReadOnlySpan<char> * System.Drawing.Font -> System.Drawing.SizeF
Public Function MeasureString (text As ReadOnlySpan(Of Char), font As Font) As SizeF

Parameter

text
ReadOnlySpan<Char>

Zu messende Zeichenfolge.

font
Font

Font, die das Textformat der Zeichenfolge definiert.

Gibt zurück

Diese Methode gibt eine SizeF Struktur zurück, die die Größe in den einheiten darstellt, die durch die PageUnit-Eigenschaft angegeben sind, der Zeichenfolge, die durch den parameter text angegeben wird, wie mit dem font-Parameter gezeichnet.

Gilt für:

MeasureString(String, Font)

Quelle:
Graphics.cs
Quelle:
Graphics.cs
Quelle:
Graphics.cs
Quelle:
Graphics.cs
Quelle:
Graphics.cs

Misst die angegebene Zeichenfolge, wenn sie mit der angegebenen Fontgezeichnet wird.

public:
 System::Drawing::SizeF MeasureString(System::String ^ text, System::Drawing::Font ^ font);
public System.Drawing.SizeF MeasureString (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
Public Function MeasureString (text As String, font As Font) As SizeF

Parameter

text
String

Zu messende Zeichenfolge.

font
Font

Font, die das Textformat der Zeichenfolge definiert.

Gibt zurück

Diese Methode gibt eine SizeF Struktur zurück, die die Größe in den einheiten darstellt, die durch die PageUnit-Eigenschaft angegeben sind, der Zeichenfolge, die durch den parameter text angegeben wird, wie mit dem font-Parameter gezeichnet.

Ausnahmen

font ist null.

font ist null.

Beispiele

Das folgende Codebeispiel wurde für die Verwendung mit Windows Forms entwickelt und erfordert PaintEventArgse, bei dem es sich um einen Parameter des Paint-Ereignishandlers handelt. Der Code führt die folgenden Aktionen aus:

  • Erstellt eine zu messende Zeichenfolge.

  • Erstellt ein Schriftartobjekt und legt es auf Arial (16 Punkt) fest.

  • Erstellt ein Größenobjekt und verwendet es und das Schriftartobjekt, um die Größe der Zeichenfolge zu messen.

  • Zeichnet ein rotes Rechteck mit der gemessenen Größe der Zeichenfolge.

  • Zeichnet die Zeichenfolge innerhalb des gezeichneten Rechtecks.

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

Hinweise

Die MeasureString-Methode ist für die Verwendung mit einzelnen Zeichenfolgen vorgesehen und enthält einen kleinen Zusätzlichen Abstand vor und nach der Zeichenfolge, um überhangende Glyphen zu ermöglichen. Außerdem passt die DrawString-Methode Glyphenpunkte an, um die Anzeigequalität zu optimieren und möglicherweise eine Zeichenfolge schmaler als von MeasureStringgemeldet anzuzeigen. Verwenden Sie zum Abrufen von Metriken, die für benachbarte Zeichenfolgen im Layout geeignet sind (z. B. bei der Implementierung von formatiertem Text), die MeasureCharacterRanges-Methode oder eine der MeasureString Methoden, die eine StringFormatverwenden und GenericTypographicübergeben. Stellen Sie außerdem sicher, dass die TextRenderingHint für die GraphicsAntiAliasist.

Weitere Informationen

Gilt für:

MeasureString(ReadOnlySpan<Char>, Font, SizeF)

Quelle:
Graphics.cs
Quelle:
Graphics.cs
Quelle:
Graphics.cs

Misst die angegebene Zeichenfolge, wenn sie mit dem angegebenen Font innerhalb des angegebenen Layoutbereichs gezeichnet wird.

public:
 System::Drawing::SizeF MeasureString(ReadOnlySpan<char> text, System::Drawing::Font ^ font, System::Drawing::SizeF layoutArea);
public System.Drawing.SizeF MeasureString (ReadOnlySpan<char> text, System.Drawing.Font font, System.Drawing.SizeF layoutArea);
member this.MeasureString : ReadOnlySpan<char> * System.Drawing.Font * System.Drawing.SizeF -> System.Drawing.SizeF
Public Function MeasureString (text As ReadOnlySpan(Of Char), font As Font, layoutArea As SizeF) As SizeF

Parameter

text
ReadOnlySpan<Char>

Zu messende Zeichenfolge.

font
Font

Font definiert das Textformat der Zeichenfolge.

layoutArea
SizeF

SizeF Struktur, die den maximalen Layoutbereich für den Text angibt.

Gibt zurück

Diese Methode gibt eine SizeF Struktur zurück, die die Größe in den einheiten darstellt, die durch die PageUnit-Eigenschaft angegeben sind, der Zeichenfolge, die durch den parameter text angegeben wird, wie mit dem font-Parameter gezeichnet.

Gilt für:

MeasureString(ReadOnlySpan<Char>, Font, Int32)

Quelle:
Graphics.cs
Quelle:
Graphics.cs
Quelle:
Graphics.cs

Misst die angegebene Zeichenfolge, wenn sie mit der angegebenen Fontgezeichnet wird.

public:
 System::Drawing::SizeF MeasureString(ReadOnlySpan<char> text, System::Drawing::Font ^ font, int width);
public System.Drawing.SizeF MeasureString (ReadOnlySpan<char> text, System.Drawing.Font font, int width);
member this.MeasureString : ReadOnlySpan<char> * System.Drawing.Font * int -> System.Drawing.SizeF
Public Function MeasureString (text As ReadOnlySpan(Of Char), font As Font, width As Integer) As SizeF

Parameter

text
ReadOnlySpan<Char>

Zu messende Zeichenfolge.

font
Font

Font, die das Format der Zeichenfolge definiert.

width
Int32

Maximale Breite der Zeichenfolge in Pixeln.

Gibt zurück

Diese Methode gibt eine SizeF Struktur zurück, die die Größe in den durch die PageUnit -Eigenschaft angegebenen Einheiten der im text Parameter angegebenen Zeichenfolge wie mit dem font-Parameter gezeichnet darstellt.

Gilt für:

MeasureString(String, Font, SizeF)

Quelle:
Graphics.cs
Quelle:
Graphics.cs
Quelle:
Graphics.cs
Quelle:
Graphics.cs
Quelle:
Graphics.cs

Misst die angegebene Zeichenfolge, wenn sie mit dem angegebenen Font innerhalb des angegebenen Layoutbereichs gezeichnet wird.

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);
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
Public Function MeasureString (text As String, font As Font, layoutArea As SizeF) As SizeF

Parameter

text
String

Zu messende Zeichenfolge.

font
Font

Font definiert das Textformat der Zeichenfolge.

layoutArea
SizeF

SizeF Struktur, die den maximalen Layoutbereich für den Text angibt.

Gibt zurück

Diese Methode gibt eine SizeF Struktur zurück, die die Größe in den einheiten darstellt, die durch die PageUnit-Eigenschaft angegeben sind, der Zeichenfolge, die durch den parameter text angegeben wird, wie mit dem font-Parameter gezeichnet.

Ausnahmen

font ist null.

Beispiele

Das folgende Codebeispiel wurde für die Verwendung mit Windows Forms entwickelt und erfordert PaintEventArgse, bei dem es sich um einen Parameter des Paint-Ereignishandlers handelt. Der Code führt die folgenden Aktionen aus:

  • Erstellt eine Zeichenfolge zum Messen und ein Schriftartobjekt, das auf Arial (16 Punkt) festgelegt ist.

  • Legt die maximale Layoutgröße der Zeichenfolge fest.

  • Erstellt ein Größenobjekt und verwendet es, das Schriftartobjekt und die maximale Layoutgröße, um die Größe der Zeichenfolge zu messen.

  • Zeichnet ein rotes Rechteck mit der gemessenen Größe der Zeichenfolge.

  • Zeichnet die Zeichenfolge innerhalb des gezeichneten Rechtecks.

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

Hinweise

Die MeasureString-Methode ist für die Verwendung mit einzelnen Zeichenfolgen vorgesehen und enthält einen kleinen Zusätzlichen Abstand vor und nach der Zeichenfolge, um überhangende Glyphen zu ermöglichen. Außerdem passt die DrawString-Methode Glyphenpunkte an, um die Anzeigequalität zu optimieren und möglicherweise eine Zeichenfolge schmaler als von MeasureStringgemeldet anzuzeigen. Verwenden Sie zum Abrufen von Metriken, die für benachbarte Zeichenfolgen im Layout geeignet sind (z. B. bei der Implementierung von formatiertem Text), die MeasureCharacterRanges-Methode oder eine der MeasureString Methoden, die eine StringFormatverwenden und GenericTypographicübergeben. Stellen Sie außerdem sicher, dass die TextRenderingHint für die GraphicsAntiAliasist.

Weitere Informationen

Gilt für:

MeasureString(String, Font, Int32)

Quelle:
Graphics.cs
Quelle:
Graphics.cs
Quelle:
Graphics.cs
Quelle:
Graphics.cs
Quelle:
Graphics.cs

Misst die angegebene Zeichenfolge, wenn sie mit der angegebenen Fontgezeichnet wird.

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);
public System.Drawing.SizeF MeasureString (string text, System.Drawing.Font font, int width);
member this.MeasureString : string * System.Drawing.Font * int -> System.Drawing.SizeF
Public Function MeasureString (text As String, font As Font, width As Integer) As SizeF

Parameter

text
String

Zu messende Zeichenfolge.

font
Font

Font, die das Format der Zeichenfolge definiert.

width
Int32

Maximale Breite der Zeichenfolge in Pixeln.

Gibt zurück

Diese Methode gibt eine SizeF Struktur zurück, die die Größe in den durch die PageUnit -Eigenschaft angegebenen Einheiten der im text Parameter angegebenen Zeichenfolge wie mit dem font-Parameter gezeichnet darstellt.

Ausnahmen

font ist null.

Beispiele

Das folgende Codebeispiel wurde für die Verwendung mit Windows Forms entwickelt und erfordert PaintEventArgse, bei dem es sich um einen Parameter des Paint-Ereignishandlers handelt. Der Code führt die folgenden Aktionen aus:

  • Erstellt eine Zeichenfolge zum Messen und ein Schriftartobjekt, das auf Arial (16 Punkt) festgelegt ist.

  • Legt die maximale Breite der Zeichenfolge fest.

  • Erstellt ein Größenobjekt und verwendet es, das Schriftartobjekt und die maximale Zeichenfolgenbreite, um die Größe der Zeichenfolge zu messen.

  • Zeichnet ein rotes Rechteck mit der gemessenen Größe der Zeichenfolge.

  • Zeichnet die Zeichenfolge innerhalb des gezeichneten Rechtecks.

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

Hinweise

Der parameter width gibt den Maximalwert der Breitekomponente der zurückgegebenen SizeF Struktur (Width) an. Wenn der width-Parameter kleiner als die tatsächliche Breite der Zeichenfolge ist, wird die zurückgegebene Width Komponente auf einen Wert abgeschnitten, der die maximale Anzahl von Zeichen darstellt, die in die angegebene Breite passen. Um die gesamte Zeichenfolge aufzunehmen, wird die zurückgegebene Height Komponente an einen Wert angepasst, der die Anzeige der Zeichenfolge mit Zeichenumbruch ermöglicht.

Die MeasureString-Methode ist für die Verwendung mit einzelnen Zeichenfolgen vorgesehen und enthält einen kleinen Zusätzlichen Abstand vor und nach der Zeichenfolge, um überhangende Glyphen zu ermöglichen. Außerdem passt die DrawString-Methode Glyphenpunkte an, um die Anzeigequalität zu optimieren und möglicherweise eine Zeichenfolge schmaler als von MeasureStringgemeldet anzuzeigen. Verwenden Sie zum Abrufen von Metriken, die für benachbarte Zeichenfolgen im Layout geeignet sind (z. B. bei der Implementierung von formatiertem Text), die MeasureCharacterRanges-Methode oder eine der MeasureString Methoden, die eine StringFormatverwenden und GenericTypographicübergeben. Stellen Sie außerdem sicher, dass die TextRenderingHint für die GraphicsAntiAliasist.

Weitere Informationen

Gilt für:

MeasureString(ReadOnlySpan<Char>, Font, PointF, StringFormat)

Quelle:
Graphics.cs
Quelle:
Graphics.cs
Quelle:
Graphics.cs

Misst die angegebene Zeichenfolge, wenn sie mit dem angegebenen Font gezeichnet und mit dem angegebenen StringFormatformatiert ist.

public:
 System::Drawing::SizeF MeasureString(ReadOnlySpan<char> text, System::Drawing::Font ^ font, System::Drawing::PointF origin, System::Drawing::StringFormat ^ stringFormat);
public System.Drawing.SizeF MeasureString (ReadOnlySpan<char> text, System.Drawing.Font font, System.Drawing.PointF origin, System.Drawing.StringFormat? stringFormat);
member this.MeasureString : ReadOnlySpan<char> * System.Drawing.Font * System.Drawing.PointF * System.Drawing.StringFormat -> System.Drawing.SizeF
Public Function MeasureString (text As ReadOnlySpan(Of Char), font As Font, origin As PointF, stringFormat As StringFormat) As SizeF

Parameter

text
ReadOnlySpan<Char>

Zu messende Zeichenfolge.

font
Font

Font definiert das Textformat der Zeichenfolge.

origin
PointF

PointF Struktur, die die obere linke Ecke der Zeichenfolge darstellt.

stringFormat
StringFormat

StringFormat, die Formatierungsinformationen wie zeilenabstand für die Zeichenfolge darstellt.

Gibt zurück

Diese Methode gibt eine SizeF Struktur zurück, die die Größe der durch die PageUnit-Eigenschaft angegebenen Einheiten der durch den parameter text angegebenen Zeichenfolge wie mit dem font-Parameter und dem stringFormat-Parameter gezeichnet darstellt.

Gilt für:

MeasureString(ReadOnlySpan<Char>, Font, Int32, StringFormat)

Quelle:
Graphics.cs
Quelle:
Graphics.cs
Quelle:
Graphics.cs

Misst die angegebene Zeichenfolge, wenn sie mit dem angegebenen Font gezeichnet und mit dem angegebenen StringFormatformatiert ist.

public:
 System::Drawing::SizeF MeasureString(ReadOnlySpan<char> text, System::Drawing::Font ^ font, int width, System::Drawing::StringFormat ^ format);
public System.Drawing.SizeF MeasureString (ReadOnlySpan<char> text, System.Drawing.Font font, int width, System.Drawing.StringFormat? format);
member this.MeasureString : ReadOnlySpan<char> * System.Drawing.Font * int * System.Drawing.StringFormat -> System.Drawing.SizeF
Public Function MeasureString (text As ReadOnlySpan(Of Char), font As Font, width As Integer, format As StringFormat) As SizeF

Parameter

text
ReadOnlySpan<Char>

Zu messende Zeichenfolge.

font
Font

Font, die das Textformat der Zeichenfolge definiert.

width
Int32

Maximale Breite der Zeichenfolge.

format
StringFormat

StringFormat, die Formatierungsinformationen wie zeilenabstand für die Zeichenfolge darstellt.

Gibt zurück

Diese Methode gibt eine SizeF Struktur zurück, die die Größe der durch die PageUnit -Eigenschaft angegebenen Einheiten der im text Parameter angegebenen Zeichenfolge wie mit dem font-Parameter und dem stringFormat-Parameter gezeichnet darstellt.

Gilt für:

MeasureString(String, Font, PointF, StringFormat)

Quelle:
Graphics.cs
Quelle:
Graphics.cs
Quelle:
Graphics.cs
Quelle:
Graphics.cs
Quelle:
Graphics.cs

Misst die angegebene Zeichenfolge, wenn sie mit dem angegebenen Font gezeichnet und mit dem angegebenen StringFormatformatiert ist.

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);
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
Public Function MeasureString (text As String, font As Font, origin As PointF, stringFormat As StringFormat) As SizeF

Parameter

text
String

Zu messende Zeichenfolge.

font
Font

Font definiert das Textformat der Zeichenfolge.

origin
PointF

PointF Struktur, die die obere linke Ecke der Zeichenfolge darstellt.

stringFormat
StringFormat

StringFormat, die Formatierungsinformationen wie zeilenabstand für die Zeichenfolge darstellt.

Gibt zurück

Diese Methode gibt eine SizeF Struktur zurück, die die Größe der durch die PageUnit-Eigenschaft angegebenen Einheiten der durch den parameter text angegebenen Zeichenfolge wie mit dem font-Parameter und dem stringFormat-Parameter gezeichnet darstellt.

Ausnahmen

font ist null.

Beispiele

Das folgende Codebeispiel wurde für die Verwendung mit Windows Forms entwickelt und erfordert PaintEventArgse, bei dem es sich um einen Parameter des Paint-Ereignishandlers handelt. Der Code führt die folgenden Aktionen aus:

  • Erstellt eine Zeichenfolge zum Messen und ein Schriftartobjekt, das auf Arial festgelegt ist (16 Punkt)

  • Erstellt einen Punkt, um die obere linke Ecke der Zeichenfolge zu finden.

  • Erstellt ein Zeichenfolgenformatobjekt und legt seine Formatkennzeichnungen auf DirectionVerticalfest.

  • Erstellt ein Größenobjekt zum Messen der Zeichenfolge.

  • Misst die Größe der Zeichenfolge mithilfe der Zeichenfolge, des Schriftartobjekts, des Ortungspunkts und des Zeichenfolgenformats.

  • Zeichnet ein rotes Rechteck mithilfe des Ortungspunkts und der gemessenen Größe der Zeichenfolge.

  • Zeichnet die Zeichenfolge innerhalb des gezeichneten Rechtecks.

Das Ergebnis ist ein vertikales Rechteck, das eine vertikale Zeichenfolge umschließt.

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

Hinweise

Die MeasureString-Methode ist für die Verwendung mit einzelnen Zeichenfolgen vorgesehen und enthält einen kleinen Zusätzlichen Abstand vor und nach der Zeichenfolge, um überhangende Glyphen zu ermöglichen. Außerdem passt die DrawString-Methode Glyphenpunkte an, um die Anzeigequalität zu optimieren und möglicherweise eine Zeichenfolge schmaler als von MeasureStringgemeldet anzuzeigen. Verwenden Sie zum Abrufen von Metriken, die für benachbarte Zeichenfolgen im Layout geeignet sind (z. B. bei der Implementierung von formatiertem Text), die MeasureCharacterRanges-Methode oder eine der MeasureString Methoden, die eine StringFormatverwenden und GenericTypographicübergeben. Stellen Sie außerdem sicher, dass die TextRenderingHint für die GraphicsAntiAliasist.

Weitere Informationen

Gilt für:

MeasureString(String, Font, SizeF, StringFormat)

Quelle:
Graphics.cs
Quelle:
Graphics.cs
Quelle:
Graphics.cs
Quelle:
Graphics.cs
Quelle:
Graphics.cs

Misst die angegebene Zeichenfolge, wenn sie mit dem angegebenen Font gezeichnet und mit dem angegebenen StringFormatformatiert ist.

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);
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
Public Function MeasureString (text As String, font As Font, layoutArea As SizeF, stringFormat As StringFormat) As SizeF

Parameter

text
String

Zu messende Zeichenfolge.

font
Font

Font definiert das Textformat der Zeichenfolge.

layoutArea
SizeF

SizeF Struktur, die den maximalen Layoutbereich für den Text angibt.

stringFormat
StringFormat

StringFormat, die Formatierungsinformationen wie zeilenabstand für die Zeichenfolge darstellt.

Gibt zurück

Diese Methode gibt eine SizeF Struktur zurück, die die Größe der durch die PageUnit -Eigenschaft angegebenen Einheiten der im text Parameter angegebenen Zeichenfolge wie mit dem font-Parameter und dem stringFormat-Parameter gezeichnet darstellt.

Ausnahmen

font ist null.

Beispiele

Das folgende Codebeispiel wurde für die Verwendung mit Windows Forms entwickelt und erfordert PaintEventArgse, bei dem es sich um einen Parameter des Paint-Ereignishandlers handelt. Der Code führt die folgenden Aktionen aus:

  • Erstellt eine Zeichenfolge zum Messen und ein Schriftartobjekt, das auf Arial (16 Punkt) festgelegt ist.

  • Legt die maximale Layoutgröße der Zeichenfolge fest, wodurch ein Größenobjekt zum Messen der Zeichenfolge erstellt wird.

  • Erstellt ein Zeichenfolgenformatobjekt und legt seine Formatkennzeichnungen auf DirectionVerticalfest.

  • Misst die Größe der Zeichenfolge mithilfe der Zeichenfolge, des Schriftartobjekts, der maximalen Layoutgröße und des Zeichenfolgenformats.

  • Zeichnet ein rotes Rechteck mit der gemessenen Größe der Zeichenfolge.

  • Zeichnet die Zeichenfolge innerhalb des gezeichneten Rechtecks.

Das Ergebnis ist ein vertikales Rechteck, das eine vertikale Zeichenfolge umschließt.

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

Hinweise

Die MeasureString-Methode ist für die Verwendung mit einzelnen Zeichenfolgen vorgesehen und enthält einen kleinen Zusätzlichen Abstand vor und nach der Zeichenfolge, um überhangende Glyphen zu ermöglichen. Außerdem passt die DrawString-Methode Glyphenpunkte an, um die Anzeigequalität zu optimieren und möglicherweise eine Zeichenfolge schmaler als von MeasureStringgemeldet anzuzeigen. Verwenden Sie zum Abrufen von Metriken, die für benachbarte Zeichenfolgen im Layout geeignet sind (z. B. bei der Implementierung von formatiertem Text), die MeasureCharacterRanges-Methode oder eine der MeasureString Methoden, die eine StringFormatverwenden und GenericTypographicübergeben. Stellen Sie außerdem sicher, dass die TextRenderingHint für die GraphicsAntiAliasist.

Weitere Informationen

Gilt für:

MeasureString(String, Font, Int32, StringFormat)

Quelle:
Graphics.cs
Quelle:
Graphics.cs
Quelle:
Graphics.cs
Quelle:
Graphics.cs
Quelle:
Graphics.cs

Misst die angegebene Zeichenfolge, wenn sie mit dem angegebenen Font gezeichnet und mit dem angegebenen StringFormatformatiert ist.

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);
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
Public Function MeasureString (text As String, font As Font, width As Integer, format As StringFormat) As SizeF

Parameter

text
String

Zu messende Zeichenfolge.

font
Font

Font, die das Textformat der Zeichenfolge definiert.

width
Int32

Maximale Breite der Zeichenfolge.

format
StringFormat

StringFormat, die Formatierungsinformationen wie zeilenabstand für die Zeichenfolge darstellt.

Gibt zurück

Diese Methode gibt eine SizeF Struktur zurück, die die Größe der durch die PageUnit -Eigenschaft angegebenen Einheiten der im text Parameter angegebenen Zeichenfolge wie mit dem font-Parameter und dem stringFormat-Parameter gezeichnet darstellt.

Ausnahmen

font ist null.

Beispiele

Das folgende Codebeispiel wurde für die Verwendung mit Windows Forms entwickelt und erfordert PaintEventArgse, bei dem es sich um einen Parameter des Paint-Ereignishandlers handelt. Der Code führt die folgenden Aktionen aus:

  • Erstellt eine Zeichenfolge zum Messen und ein Schriftartobjekt, das auf Arial (16 Punkt) festgelegt ist.

  • Legt die maximale Breite der Zeichenfolge fest.

  • Erstellt ein Zeichenfolgenformatobjekt und legt seine Formatkennzeichnungen auf DirectionVerticalfest.

  • Erstellt ein Größenobjekt zum Messen der Zeichenfolge.

  • Misst die Größe der Zeichenfolge mithilfe der Zeichenfolge, des Schriftartobjekts, der maximalen Breite und des Zeichenfolgenformats.

  • Zeichnet ein rotes Rechteck mit der gemessenen Größe der Zeichenfolge.

  • Zeichnet die Zeichenfolge innerhalb des gezeichneten Rechtecks.

Das Ergebnis ist ein vertikales Rechteck, das eine vertikale Zeichenfolge umschließt.

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

Hinweise

Die MeasureString-Methode ist für die Verwendung mit einzelnen Zeichenfolgen vorgesehen und enthält einen kleinen Zusätzlichen Abstand vor und nach der Zeichenfolge, um überhangende Glyphen zu ermöglichen. Außerdem passt die DrawString-Methode Glyphenpunkte an, um die Anzeigequalität zu optimieren und möglicherweise eine Zeichenfolge schmaler als von MeasureStringgemeldet anzuzeigen. Verwenden Sie zum Abrufen von Metriken, die für benachbarte Zeichenfolgen im Layout geeignet sind (z. B. bei der Implementierung von formatiertem Text), die MeasureCharacterRanges-Methode oder eine der MeasureString Methoden, die eine StringFormatverwenden und GenericTypographicübergeben. Stellen Sie außerdem sicher, dass die TextRenderingHint für die GraphicsAntiAliasist.

Weitere Informationen

Gilt für:

MeasureString(ReadOnlySpan<Char>, Font, SizeF, StringFormat, Int32, Int32)

Quelle:
Graphics.cs
Quelle:
Graphics.cs
Quelle:
Graphics.cs

Misst die angegebene Zeichenfolge, wenn sie mit dem angegebenen Font gezeichnet und mit dem angegebenen StringFormatformatiert ist.

public:
 System::Drawing::SizeF MeasureString(ReadOnlySpan<char> 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 (ReadOnlySpan<char> text, System.Drawing.Font font, System.Drawing.SizeF layoutArea, System.Drawing.StringFormat? stringFormat, out int charactersFitted, out int linesFilled);
member this.MeasureString : ReadOnlySpan<char> * System.Drawing.Font * System.Drawing.SizeF * System.Drawing.StringFormat * int * int -> System.Drawing.SizeF
Public Function MeasureString (text As ReadOnlySpan(Of Char), font As Font, layoutArea As SizeF, stringFormat As StringFormat, ByRef charactersFitted As Integer, ByRef linesFilled As Integer) As SizeF

Parameter

text
ReadOnlySpan<Char>

Zu messende Zeichenfolge.

font
Font

Font, die das Textformat der Zeichenfolge definiert.

layoutArea
SizeF

SizeF Struktur, die den maximalen Layoutbereich für den Text angibt.

stringFormat
StringFormat

StringFormat, die Formatierungsinformationen wie zeilenabstand für die Zeichenfolge darstellt.

charactersFitted
Int32

Anzahl der Zeichen in der Zeichenfolge.

linesFilled
Int32

Anzahl der Textzeilen in der Zeichenfolge.

Gibt zurück

Diese Methode gibt eine SizeF Struktur zurück, die die Größe der Zeichenfolge in den durch die PageUnit -Eigenschaft angegebenen Einheiten des text-Parameters darstellt, wie mit dem font-Parameter und dem stringFormat-Parameter gezeichnet.

Gilt für:

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

Quelle:
Graphics.cs
Quelle:
Graphics.cs
Quelle:
Graphics.cs
Quelle:
Graphics.cs
Quelle:
Graphics.cs

Misst die angegebene Zeichenfolge, wenn sie mit dem angegebenen Font gezeichnet und mit dem angegebenen StringFormatformatiert ist.

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);
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
Public Function MeasureString (text As String, font As Font, layoutArea As SizeF, stringFormat As StringFormat, ByRef charactersFitted As Integer, ByRef linesFilled As Integer) As SizeF

Parameter

text
String

Zu messende Zeichenfolge.

font
Font

Font, die das Textformat der Zeichenfolge definiert.

layoutArea
SizeF

SizeF Struktur, die den maximalen Layoutbereich für den Text angibt.

stringFormat
StringFormat

StringFormat, die Formatierungsinformationen wie zeilenabstand für die Zeichenfolge darstellt.

charactersFitted
Int32

Anzahl der Zeichen in der Zeichenfolge.

linesFilled
Int32

Anzahl der Textzeilen in der Zeichenfolge.

Gibt zurück

Diese Methode gibt eine SizeF Struktur zurück, die die Größe der Zeichenfolge in den durch die PageUnit -Eigenschaft angegebenen Einheiten des text-Parameters darstellt, wie mit dem font-Parameter und dem stringFormat-Parameter gezeichnet.

Ausnahmen

font ist null.

Beispiele

Das folgende Codebeispiel wurde für die Verwendung mit Windows Forms entwickelt und erfordert PaintEventArgse, bei dem es sich um einen Parameter des Paint-Ereignishandlers handelt. Der Code führt die folgenden Aktionen aus:

  • Erstellt eine Zeichenfolge zum Messen und ein Schriftartobjekt, das auf Arial festgelegt ist (16 Punkt)

  • Legt die maximale Layoutgröße der Zeichenfolge fest.

  • Erstellt ein Zeichenfolgenformatobjekt und legt seine Formatkennzeichnungen auf DirectionVerticalfest.

  • Erstellt die ganzzahligen Variablen charactersFitted und linesFilled und ein Größenobjekt zum Messen der Zeichenfolge.

  • Misst die Größe der Zeichenfolge und bestimmt die Anzahl der zeichen, die mit der Zeichenfolge, dem Schriftartobjekt, der maximalen Layoutgröße und dem Zeichenfolgenformat gefüllt sind.

  • Zeichnet ein rotes Rechteck mit der gemessenen Größe der Zeichenfolge.

  • Zeichnet die Zeichenfolge innerhalb des gezeichneten Rechtecks.

  • Zeichnet die Werte der Anzahl der zeichenfüllten und gefüllten Zeilen.

Das Ergebnis ist ein vertikales Rechteck, das eine vertikale Zeichenfolge umschließt.

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

Hinweise

Die MeasureString-Methode ist für die Verwendung mit einzelnen Zeichenfolgen vorgesehen und enthält einen kleinen Zusätzlichen Abstand vor und nach der Zeichenfolge, um überhangende Glyphen zu ermöglichen. Außerdem passt die DrawString-Methode Glyphenpunkte an, um die Anzeigequalität zu optimieren und möglicherweise eine Zeichenfolge schmaler als von MeasureStringgemeldet anzuzeigen. Um Metriken zu erhalten, die für benachbarte Zeichenfolgen im Layout geeignet sind (z. B. bei der Implementierung von formatiertem Text), verwenden Sie die MeasureCharacterRanges-Methode oder eine der MeasureString Methoden, die eine StringFormat verwenden und GenericTypographicübergeben. Stellen Sie außerdem sicher, dass die TextRenderingHint für die GraphicsAntiAliasist.

Weitere Informationen

Gilt für: