TextRenderer.MeasureText Metoda

Definicja

Mierzy określony tekst po narysowaniu przy użyciu określonej czcionki.

Przeciążenia

MeasureText(String, Font, Size, TextFormatFlags)

Udostępnia rozmiar w pikselach określonego tekstu podczas rysowania przy użyciu określonej czcionki i instrukcji formatowania, używając określonego rozmiaru w celu utworzenia początkowego prostokąta ograniczenia dla tekstu.

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

Udostępnia rozmiar w pikselach określonego tekstu podczas rysowania przy użyciu określonej czcionki i instrukcji formatowania, używając określonego rozmiaru w celu utworzenia początkowego prostokąta ograniczenia dla tekstu.

MeasureText(IDeviceContext, String, Font, Size)

Udostępnia rozmiar określonego tekstu w pikselach podczas rysowania przy użyciu określonej czcionki w określonym kontekście urządzenia przy użyciu określonego rozmiaru w celu utworzenia początkowego prostokąta ograniczenia dla tekstu.

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

Udostępnia rozmiar określonego tekstu w pikselach podczas rysowania przy użyciu określonej czcionki w określonym kontekście urządzenia przy użyciu określonego rozmiaru w celu utworzenia początkowego prostokąta ograniczenia dla tekstu.

MeasureText(String, Font, Size)

Udostępnia rozmiar określonego tekstu w pikselach podczas rysowania przy użyciu określonej czcionki przy użyciu określonego rozmiaru w celu utworzenia początkowego prostokąta ograniczenia.

MeasureText(IDeviceContext, ReadOnlySpan<Char>, Font)

Zawiera rozmiar w pikselach określonego tekstu rysowanego przy użyciu określonej czcionki w określonym kontekście urządzenia.

MeasureText(IDeviceContext, String, Font)

Zawiera rozmiar w pikselach określonego tekstu rysowanego przy użyciu określonej czcionki w określonym kontekście urządzenia.

MeasureText(String, Font)

Zapewnia rozmiar w pikselach określonego tekstu podczas rysowania przy użyciu określonej czcionki.

MeasureText(ReadOnlySpan<Char>, Font)

Zapewnia rozmiar w pikselach określonego tekstu podczas rysowania przy użyciu określonej czcionki.

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

Zawiera rozmiar określonego tekstu w pikselach podczas rysowania przy użyciu określonego kontekstu urządzenia, czcionki i instrukcji formatowania przy użyciu określonego rozmiaru w celu utworzenia początkowego prostokąta ograniczenia dla tekstu.

MeasureText(ReadOnlySpan<Char>, Font, Size)

Udostępnia rozmiar określonego tekstu w pikselach podczas rysowania przy użyciu określonej czcionki przy użyciu określonego rozmiaru w celu utworzenia początkowego prostokąta ograniczenia.

MeasureText(IDeviceContext, String, Font, Size, TextFormatFlags)

Zawiera rozmiar określonego tekstu w pikselach podczas rysowania przy użyciu określonego kontekstu urządzenia, czcionki i instrukcji formatowania przy użyciu określonego rozmiaru w celu utworzenia początkowego prostokąta ograniczenia dla tekstu.

MeasureText(String, Font, Size, TextFormatFlags)

Udostępnia rozmiar w pikselach określonego tekstu podczas rysowania przy użyciu określonej czcionki i instrukcji formatowania, używając określonego rozmiaru w celu utworzenia początkowego prostokąta ograniczenia dla tekstu.

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

Parametry

text
String

Tekst do zmierzenia.

font
Font

Element Font do zastosowania do mierzonego tekstu.

proposedSize
Size

Początkowy Size prostokąt ograniczenia.

flags
TextFormatFlags

Instrukcje formatowania stosowane do mierzonego tekstu.

Zwraca

Size

Wartość Size, w pikselach text , narysowana przy użyciu określonego font formatu i .

Przykłady

W poniższym przykładzie kodu pokazano, jak używać jednej z MeasureText metod. Aby uruchomić ten przykład, wklej kod do formularza Windows i wywołaj DrawALineOfText go z procedury obsługi zdarzeń formularzaPaint, przekazując e jako PaintEventArgs.

private static void DrawALineOfText(PaintEventArgs e)
{
    // Declare strings to render on the form.
    string[] stringsToPaint = { "Tail", "Spin", " Toys" };

    // Declare fonts for rendering the strings.
    Font[] fonts = { new Font("Arial", 14, FontStyle.Regular), 
        new Font("Arial", 14, FontStyle.Italic), 
        new Font("Arial", 14, FontStyle.Regular) };

    Point startPoint = new Point(10, 10);

    // Set TextFormatFlags to no padding so strings are drawn together.
    TextFormatFlags flags = TextFormatFlags.NoPadding;

    // Declare a proposed size with dimensions set to the maximum integer value.
    Size proposedSize = new Size(int.MaxValue, int.MaxValue);

    // Measure each string with its font and NoPadding value and 
    // draw it to the form.
    for (int i = 0; i < stringsToPaint.Length; i++)
    {
        Size size = TextRenderer.MeasureText(e.Graphics, stringsToPaint[i], 
            fonts[i], proposedSize, flags);
        Rectangle rect = new Rectangle(startPoint, size);
        TextRenderer.DrawText(e.Graphics, stringsToPaint[i], fonts[i],
            startPoint, Color.Black, flags);
        startPoint.X += size.Width;
    }
}
Private Sub DrawALineOfText(ByVal e As PaintEventArgs)
    ' Declare strings to render on the form.
    Dim stringsToPaint() As String = {"Tail", "Spin", " Toys"}

    ' Declare fonts for rendering the strings.
    Dim fonts() As Font = {New Font("Arial", 14, FontStyle.Regular), _
        New Font("Arial", 14, FontStyle.Italic), _
        New Font("Arial", 14, FontStyle.Regular)}

    Dim startPoint As New Point(10, 10)

    ' Set TextFormatFlags to no padding so strings are drawn together.
    Dim flags As TextFormatFlags = TextFormatFlags.NoPadding

    ' Declare a proposed size with dimensions set to the maximum integer value.
    Dim proposedSize As Size = New Size(Integer.MaxValue, Integer.MaxValue)

    ' Measure each string with its font and NoPadding value and draw it to the form.
    For i As Integer = 0 To stringsToPaint.Length - 1
        Dim size As Size = TextRenderer.MeasureText(e.Graphics, _
            stringsToPaint(i), fonts(i), proposedSize, flags)
        Dim rect As Rectangle = New Rectangle(startPoint, size)
        TextRenderer.DrawText(e.Graphics, stringsToPaint(i), fonts(i), _
            startPoint, Color.Black, flags)
        startPoint.X += size.Width
    Next
End Sub

Uwagi

MeasureText używa parametrów proposedSize i flags , aby wskazać relację wysokości do szerokości podczas określania rozmiaru tekstu. Podczas mierzenia tekstu w jednym wierszu, jeśli proposedSize parametr reprezentuje Size wymiar wysokości większy niż Int32.MaxValue, zwrócony Size zostanie dostosowany w celu odzwierciedlenia rzeczywistej wysokości tekstu.

Możesz manipulować sposobem narysowania tekstu przy użyciu jednego z DrawText przeciążeń, które przyjmuje TextFormatFlags parametr. Na przykład domyślnym zachowaniem elementu TextRenderer jest dodanie dopełnienia do prostokąta ograniczenia rysowanego tekstu, aby pomieścić zwisające glyphs. Jeśli musisz narysować wiersz tekstu bez tych dodatkowych spacji, należy użyć wersji i DrawText MeasureText , które przyjmują Size parametr i TextFormatFlags . Aby zapoznać się z przykładem, zobacz MeasureText(IDeviceContext, String, Font, Size, TextFormatFlags).

Uwaga

To przeciążenie MeasureText(String, Font, Size, TextFormatFlags) elementu spowoduje zignorowanie TextFormatFlags wartości NoPadding lub LeftAndRightPadding. Jeśli określasz wartość dopełniania inną niż domyślna, należy użyć przeciążenia MeasureText(IDeviceContext, String, Font, Size, TextFormatFlags) tego IDeviceContext obiektu.

Dotyczy

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

Udostępnia rozmiar w pikselach określonego tekstu podczas rysowania przy użyciu określonej czcionki i instrukcji formatowania, używając określonego rozmiaru w celu utworzenia początkowego prostokąta ograniczenia dla tekstu.

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

Parametry

text
ReadOnlySpan<Char>

Tekst do zmierzenia.

font
Font

Element Font do zastosowania do mierzonego tekstu.

proposedSize
Size

Początkowy Size prostokąt ograniczenia.

flags
TextFormatFlags

Instrukcje formatowania stosowane do mierzonego tekstu.

Zwraca

Size

Wartość Size, w pikselach text , narysowana przy użyciu określonego font formatu i .

Wyjątki

Dotyczy

MeasureText(IDeviceContext, String, Font, Size)

Udostępnia rozmiar określonego tekstu w pikselach podczas rysowania przy użyciu określonej czcionki w określonym kontekście urządzenia przy użyciu określonego rozmiaru w celu utworzenia początkowego prostokąta ograniczenia dla tekstu.

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

Parametry

dc
IDeviceContext

Kontekst urządzenia, w którym ma być mierzyny tekst.

text
String

Tekst do zmierzenia.

font
Font

Element Font do zastosowania do mierzonego tekstu.

proposedSize
Size

Początkowy Size prostokąt ograniczenia.

Zwraca

Size

Wartość Size, w pikselach text narysowana za pomocą określonego fontelementu .

Wyjątki

dc to null.

Przykłady

W poniższym przykładzie kodu pokazano, jak używać jednej z MeasureText metod. Aby uruchomić ten przykład, wklej kod do formularza Windows i wywołaj DrawALineOfText go z procedury obsługi zdarzeń formularzaPaint, przekazując e jako PaintEventArgs.

private static void DrawALineOfText(PaintEventArgs e)
{
    // Declare strings to render on the form.
    string[] stringsToPaint = { "Tail", "Spin", " Toys" };

    // Declare fonts for rendering the strings.
    Font[] fonts = { new Font("Arial", 14, FontStyle.Regular), 
        new Font("Arial", 14, FontStyle.Italic), 
        new Font("Arial", 14, FontStyle.Regular) };

    Point startPoint = new Point(10, 10);

    // Set TextFormatFlags to no padding so strings are drawn together.
    TextFormatFlags flags = TextFormatFlags.NoPadding;

    // Declare a proposed size with dimensions set to the maximum integer value.
    Size proposedSize = new Size(int.MaxValue, int.MaxValue);

    // Measure each string with its font and NoPadding value and 
    // draw it to the form.
    for (int i = 0; i < stringsToPaint.Length; i++)
    {
        Size size = TextRenderer.MeasureText(e.Graphics, stringsToPaint[i], 
            fonts[i], proposedSize, flags);
        Rectangle rect = new Rectangle(startPoint, size);
        TextRenderer.DrawText(e.Graphics, stringsToPaint[i], fonts[i],
            startPoint, Color.Black, flags);
        startPoint.X += size.Width;
    }
}
Private Sub DrawALineOfText(ByVal e As PaintEventArgs)
    ' Declare strings to render on the form.
    Dim stringsToPaint() As String = {"Tail", "Spin", " Toys"}

    ' Declare fonts for rendering the strings.
    Dim fonts() As Font = {New Font("Arial", 14, FontStyle.Regular), _
        New Font("Arial", 14, FontStyle.Italic), _
        New Font("Arial", 14, FontStyle.Regular)}

    Dim startPoint As New Point(10, 10)

    ' Set TextFormatFlags to no padding so strings are drawn together.
    Dim flags As TextFormatFlags = TextFormatFlags.NoPadding

    ' Declare a proposed size with dimensions set to the maximum integer value.
    Dim proposedSize As Size = New Size(Integer.MaxValue, Integer.MaxValue)

    ' Measure each string with its font and NoPadding value and draw it to the form.
    For i As Integer = 0 To stringsToPaint.Length - 1
        Dim size As Size = TextRenderer.MeasureText(e.Graphics, _
            stringsToPaint(i), fonts(i), proposedSize, flags)
        Dim rect As Rectangle = New Rectangle(startPoint, size)
        TextRenderer.DrawText(e.Graphics, stringsToPaint(i), fonts(i), _
            startPoint, Color.Black, flags)
        startPoint.X += size.Width
    Next
End Sub

Uwagi

Metoda MeasureText używa parametru , proposedSize aby wskazać relację wysokości do szerokości podczas określania rozmiaru tekstu. Podczas mierzenia tekstu w jednym wierszu, jeśli proposedSize parametr reprezentuje Size wymiar wysokości większy niż Int32.MaxValue, zwrócony Size zostanie dostosowany w celu odzwierciedlenia rzeczywistej wysokości tekstu.

Dotyczy

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

Udostępnia rozmiar określonego tekstu w pikselach podczas rysowania przy użyciu określonej czcionki w określonym kontekście urządzenia przy użyciu określonego rozmiaru w celu utworzenia początkowego prostokąta ograniczenia dla tekstu.

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

Parametry

dc
IDeviceContext

Kontekst urządzenia, w którym ma być mierzyny tekst.

text
ReadOnlySpan<Char>

Tekst do zmierzenia.

font
Font

Element Font do zastosowania do mierzonego tekstu.

proposedSize
Size

Początkowy Size prostokąt ograniczenia.

Zwraca

Size

Wartość Size, w pikselach text narysowana za pomocą określonego fontelementu .

Wyjątki

dc to null.

Dotyczy

MeasureText(String, Font, Size)

Udostępnia rozmiar określonego tekstu w pikselach podczas rysowania przy użyciu określonej czcionki przy użyciu określonego rozmiaru w celu utworzenia początkowego prostokąta ograniczenia.

public:
 static System::Drawing::Size MeasureText(System::String ^ text, System::Drawing::Font ^ font, System::Drawing::Size proposedSize);
public static System.Drawing.Size MeasureText (string text, System.Drawing.Font font, System.Drawing.Size proposedSize);
public static System.Drawing.Size MeasureText (string? text, System.Drawing.Font? font, System.Drawing.Size proposedSize);
static member MeasureText : string * System.Drawing.Font * System.Drawing.Size -> System.Drawing.Size
Public Shared Function MeasureText (text As String, font As Font, proposedSize As Size) As Size

Parametry

text
String

Tekst do zmierzenia.

font
Font

Element Font do zastosowania do mierzonego tekstu.

proposedSize
Size

Początkowy Size prostokąt ograniczenia.

Zwraca

Size

Wartość Size, w pikselach text narysowana za pomocą określonego fontelementu .

Przykłady

W poniższym przykładzie kodu pokazano, jak używać jednej z MeasureText metod. Aby uruchomić ten przykład, wklej kod do formularza Windows i wywołaj DrawALineOfText go z procedury obsługi zdarzeń formularzaPaint, przekazując e jako PaintEventArgs.

private static void DrawALineOfText(PaintEventArgs e)
{
    // Declare strings to render on the form.
    string[] stringsToPaint = { "Tail", "Spin", " Toys" };

    // Declare fonts for rendering the strings.
    Font[] fonts = { new Font("Arial", 14, FontStyle.Regular), 
        new Font("Arial", 14, FontStyle.Italic), 
        new Font("Arial", 14, FontStyle.Regular) };

    Point startPoint = new Point(10, 10);

    // Set TextFormatFlags to no padding so strings are drawn together.
    TextFormatFlags flags = TextFormatFlags.NoPadding;

    // Declare a proposed size with dimensions set to the maximum integer value.
    Size proposedSize = new Size(int.MaxValue, int.MaxValue);

    // Measure each string with its font and NoPadding value and 
    // draw it to the form.
    for (int i = 0; i < stringsToPaint.Length; i++)
    {
        Size size = TextRenderer.MeasureText(e.Graphics, stringsToPaint[i], 
            fonts[i], proposedSize, flags);
        Rectangle rect = new Rectangle(startPoint, size);
        TextRenderer.DrawText(e.Graphics, stringsToPaint[i], fonts[i],
            startPoint, Color.Black, flags);
        startPoint.X += size.Width;
    }
}
Private Sub DrawALineOfText(ByVal e As PaintEventArgs)
    ' Declare strings to render on the form.
    Dim stringsToPaint() As String = {"Tail", "Spin", " Toys"}

    ' Declare fonts for rendering the strings.
    Dim fonts() As Font = {New Font("Arial", 14, FontStyle.Regular), _
        New Font("Arial", 14, FontStyle.Italic), _
        New Font("Arial", 14, FontStyle.Regular)}

    Dim startPoint As New Point(10, 10)

    ' Set TextFormatFlags to no padding so strings are drawn together.
    Dim flags As TextFormatFlags = TextFormatFlags.NoPadding

    ' Declare a proposed size with dimensions set to the maximum integer value.
    Dim proposedSize As Size = New Size(Integer.MaxValue, Integer.MaxValue)

    ' Measure each string with its font and NoPadding value and draw it to the form.
    For i As Integer = 0 To stringsToPaint.Length - 1
        Dim size As Size = TextRenderer.MeasureText(e.Graphics, _
            stringsToPaint(i), fonts(i), proposedSize, flags)
        Dim rect As Rectangle = New Rectangle(startPoint, size)
        TextRenderer.DrawText(e.Graphics, stringsToPaint(i), fonts(i), _
            startPoint, Color.Black, flags)
        startPoint.X += size.Width
    Next
End Sub

Uwagi

Metoda MeasureText używa parametru , proposedSize aby wskazać relację wysokości do szerokości podczas określania rozmiaru tekstu. Podczas mierzenia tekstu w jednym wierszu, jeśli proposedSize parametr reprezentuje Size wymiar wysokości większy niż Int32.MaxValue, zwrócony Size zostanie dostosowany w celu odzwierciedlenia rzeczywistej wysokości tekstu.

Dotyczy

MeasureText(IDeviceContext, ReadOnlySpan<Char>, Font)

Zawiera rozmiar w pikselach określonego tekstu rysowanego przy użyciu określonej czcionki w określonym kontekście urządzenia.

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

Parametry

dc
IDeviceContext

Kontekst urządzenia, w którym ma być mierzyny tekst.

text
ReadOnlySpan<Char>

Tekst do zmierzenia.

font
Font

Element Font do zastosowania do mierzonego tekstu.

Zwraca

Size

Wartość Size, w pikselach text , narysowana przy użyciu określonego font kontekstu urządzenia.

Wyjątki

dc to null.

Dotyczy

MeasureText(IDeviceContext, String, Font)

Zawiera rozmiar w pikselach określonego tekstu rysowanego przy użyciu określonej czcionki w określonym kontekście urządzenia.

public:
 static System::Drawing::Size MeasureText(System::Drawing::IDeviceContext ^ dc, System::String ^ text, System::Drawing::Font ^ font);
public static System.Drawing.Size MeasureText (System.Drawing.IDeviceContext dc, string text, System.Drawing.Font font);
public static System.Drawing.Size MeasureText (System.Drawing.IDeviceContext dc, string? text, System.Drawing.Font? font);
static member MeasureText : System.Drawing.IDeviceContext * string * System.Drawing.Font -> System.Drawing.Size
Public Shared Function MeasureText (dc As IDeviceContext, text As String, font As Font) As Size

Parametry

dc
IDeviceContext

Kontekst urządzenia, w którym ma być mierzyny tekst.

text
String

Tekst do zmierzenia.

font
Font

Element Font do zastosowania do mierzonego tekstu.

Zwraca

Size

Wartość Size, w pikselach text , narysowana w jednym wierszu z określonym font kontekstem urządzenia.

Przykłady

W poniższym przykładzie kodu pokazano, jak używać jednej z MeasureText metod. Aby uruchomić ten przykład, wklej kod do formularza Windows i wywołaj DrawALineOfText go z procedury obsługi zdarzeń formularzaPaint, przekazując e jako PaintEventArgs.

private static void DrawALineOfText(PaintEventArgs e)
{
    // Declare strings to render on the form.
    string[] stringsToPaint = { "Tail", "Spin", " Toys" };

    // Declare fonts for rendering the strings.
    Font[] fonts = { new Font("Arial", 14, FontStyle.Regular), 
        new Font("Arial", 14, FontStyle.Italic), 
        new Font("Arial", 14, FontStyle.Regular) };

    Point startPoint = new Point(10, 10);

    // Set TextFormatFlags to no padding so strings are drawn together.
    TextFormatFlags flags = TextFormatFlags.NoPadding;

    // Declare a proposed size with dimensions set to the maximum integer value.
    Size proposedSize = new Size(int.MaxValue, int.MaxValue);

    // Measure each string with its font and NoPadding value and 
    // draw it to the form.
    for (int i = 0; i < stringsToPaint.Length; i++)
    {
        Size size = TextRenderer.MeasureText(e.Graphics, stringsToPaint[i], 
            fonts[i], proposedSize, flags);
        Rectangle rect = new Rectangle(startPoint, size);
        TextRenderer.DrawText(e.Graphics, stringsToPaint[i], fonts[i],
            startPoint, Color.Black, flags);
        startPoint.X += size.Width;
    }
}
Private Sub DrawALineOfText(ByVal e As PaintEventArgs)
    ' Declare strings to render on the form.
    Dim stringsToPaint() As String = {"Tail", "Spin", " Toys"}

    ' Declare fonts for rendering the strings.
    Dim fonts() As Font = {New Font("Arial", 14, FontStyle.Regular), _
        New Font("Arial", 14, FontStyle.Italic), _
        New Font("Arial", 14, FontStyle.Regular)}

    Dim startPoint As New Point(10, 10)

    ' Set TextFormatFlags to no padding so strings are drawn together.
    Dim flags As TextFormatFlags = TextFormatFlags.NoPadding

    ' Declare a proposed size with dimensions set to the maximum integer value.
    Dim proposedSize As Size = New Size(Integer.MaxValue, Integer.MaxValue)

    ' Measure each string with its font and NoPadding value and draw it to the form.
    For i As Integer = 0 To stringsToPaint.Length - 1
        Dim size As Size = TextRenderer.MeasureText(e.Graphics, _
            stringsToPaint(i), fonts(i), proposedSize, flags)
        Dim rect As Rectangle = New Rectangle(startPoint, size)
        TextRenderer.DrawText(e.Graphics, stringsToPaint(i), fonts(i), _
            startPoint, Color.Black, flags)
        startPoint.X += size.Width
    Next
End Sub

Uwagi

Metoda MeasureText wymaga, aby tekst został narysowany w jednym wierszu.

Dotyczy

MeasureText(String, Font)

Zapewnia rozmiar w pikselach określonego tekstu podczas rysowania przy użyciu określonej czcionki.

public:
 static System::Drawing::Size MeasureText(System::String ^ text, System::Drawing::Font ^ font);
public static System.Drawing.Size MeasureText (string text, System.Drawing.Font font);
public static System.Drawing.Size MeasureText (string? text, System.Drawing.Font? font);
static member MeasureText : string * System.Drawing.Font -> System.Drawing.Size
Public Shared Function MeasureText (text As String, font As Font) As Size

Parametry

text
String

Tekst do zmierzenia.

font
Font

Element Font do zastosowania do mierzonego tekstu.

Zwraca

Size

Wartość Size, w pikselach text narysowana na jednym wierszu o określonej wartości font. Możesz manipulować sposobem narysowania tekstu przy użyciu jednego z DrawText(IDeviceContext, String, Font, Rectangle, Color, TextFormatFlags) przeciążeń, które przyjmuje TextFormatFlags parametr. Na przykład domyślnym zachowaniem elementu TextRenderer jest dodanie dopełnienia do prostokąta ograniczenia rysowanego tekstu, aby pomieścić zwisające glyphs. Jeśli musisz narysować wiersz tekstu bez tych dodatkowych spacji, należy użyć wersji i DrawText(IDeviceContext, String, Font, Point, Color) MeasureText(IDeviceContext, String, Font) , które przyjmują Size parametr i TextFormatFlags . Aby zapoznać się z przykładem, zobacz MeasureText(IDeviceContext, String, Font, Size, TextFormatFlags).

Przykłady

W poniższym przykładzie kodu pokazano, jak używać MeasureText metody . Aby uruchomić ten przykład, wklej kod do formularza Windows i wywołaj MeasureText1 go z procedury obsługi zdarzeń formularzaPaint, przekazując e jako PaintEventArgs.

private void MeasureText1(PaintEventArgs e)
{
    String text1 = "Measure this text";
    Font arialBold = new Font("Arial", 12.0F);
    Size textSize = TextRenderer.MeasureText(text1, arialBold);
    TextRenderer.DrawText(e.Graphics, text1, arialBold, 
        new Rectangle(new Point(10, 10), textSize), Color.Red);  
}
Private Sub MeasureText1(ByVal e As PaintEventArgs)
    Dim text1 As String = "Measure this text"
    Dim arialBold As New Font("Arial", 12.0F)
    Dim textSize As Size = TextRenderer.MeasureText(text1, arialBold)
    TextRenderer.DrawText(e.Graphics, text1, arialBold, _
        New Rectangle(New Point(10, 10), textSize), Color.Red)

End Sub

Uwagi

Metoda MeasureText wymaga, aby tekst został narysowany w jednym wierszu.

Dotyczy

MeasureText(ReadOnlySpan<Char>, Font)

Zapewnia rozmiar w pikselach określonego tekstu podczas rysowania przy użyciu określonej czcionki.

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

Parametry

text
ReadOnlySpan<Char>

Tekst do zmierzenia.

font
Font

Element Font do zastosowania do mierzonego tekstu.

Zwraca

Size

, Sizew pikselach, tekst rysowany w jednym wierszu z określoną czcionką. Możesz manipulować sposobem narysowania tekstu przy użyciu jednego z DrawText(IDeviceContext, ReadOnlySpan<Char>, Font, Rectangle, Color, TextFormatFlags) przeciążeń, które przyjmuje TextFormatFlags parametr. Na przykład domyślnym zachowaniem elementu TextRenderer jest dodanie dopełnienia do prostokąta ograniczenia rysowanego tekstu, aby pomieścić zwisające glyphs. Jeśli musisz narysować wiersz tekstu bez tych dodatkowych spacji, należy użyć wersji i DrawText(IDeviceContext, ReadOnlySpan<Char>, Font, Point, Color) MeasureText(IDeviceContext, ReadOnlySpan<Char>, Font) które mają rozmiar i TextFormatFlags parametr. Aby zapoznać się z przykładem, zobacz MeasureText(IDeviceContext, String, Font, Size, TextFormatFlags).

Dotyczy

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

Zawiera rozmiar określonego tekstu w pikselach podczas rysowania przy użyciu określonego kontekstu urządzenia, czcionki i instrukcji formatowania przy użyciu określonego rozmiaru w celu utworzenia początkowego prostokąta ograniczenia dla tekstu.

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

Parametry

dc
IDeviceContext

Kontekst urządzenia, w którym ma być mierzyny tekst.

text
ReadOnlySpan<Char>

Tekst do zmierzenia.

font
Font

Element Font do zastosowania do mierzonego tekstu.

proposedSize
Size

Początkowy Size prostokąt ograniczenia.

flags
TextFormatFlags

Instrukcje formatowania stosowane do mierzonego tekstu.

Zwraca

Size

Wartość Size, w pikselach text , narysowana przy użyciu określonego font formatu i .

Wyjątki

dc to null.

Dotyczy

MeasureText(ReadOnlySpan<Char>, Font, Size)

Udostępnia rozmiar określonego tekstu w pikselach podczas rysowania przy użyciu określonej czcionki przy użyciu określonego rozmiaru w celu utworzenia początkowego prostokąta ograniczenia.

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

Parametry

text
ReadOnlySpan<Char>

Tekst do zmierzenia.

font
Font

Element Font do zastosowania do mierzonego tekstu.

proposedSize
Size

Początkowy Size prostokąt ograniczenia.

Zwraca

Size

Wartość Size, w pikselach text narysowana za pomocą określonego fontelementu .

Dotyczy

MeasureText(IDeviceContext, String, Font, Size, TextFormatFlags)

Zawiera rozmiar określonego tekstu w pikselach podczas rysowania przy użyciu określonego kontekstu urządzenia, czcionki i instrukcji formatowania przy użyciu określonego rozmiaru w celu utworzenia początkowego prostokąta ograniczenia dla tekstu.

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

Parametry

dc
IDeviceContext

Kontekst urządzenia, w którym ma być mierzyny tekst.

text
String

Tekst do zmierzenia.

font
Font

Element Font do zastosowania do mierzonego tekstu.

proposedSize
Size

Początkowy Size prostokąt ograniczenia.

flags
TextFormatFlags

Instrukcje formatowania stosowane do mierzonego tekstu.

Zwraca

Size

Wartość Size, w pikselach text , narysowana przy użyciu określonego font formatu i .

Wyjątki

dc to null.

Przykłady

W poniższym przykładzie pokazano, jak używać MeasureText metod i DrawText do rysowania pojedynczego wiersza tekstu w różnych stylach czcionek. Aby uruchomić ten przykład, wklej następujący kod w formularzu Windows i wywołaj go DrawALineOfText z procedury obsługi zdarzeń formularzaPaint, przekazując e jako PaintEventArgs.

private static void DrawALineOfText(PaintEventArgs e)
{
    // Declare strings to render on the form.
    string[] stringsToPaint = { "Tail", "Spin", " Toys" };

    // Declare fonts for rendering the strings.
    Font[] fonts = { new Font("Arial", 14, FontStyle.Regular), 
        new Font("Arial", 14, FontStyle.Italic), 
        new Font("Arial", 14, FontStyle.Regular) };

    Point startPoint = new Point(10, 10);

    // Set TextFormatFlags to no padding so strings are drawn together.
    TextFormatFlags flags = TextFormatFlags.NoPadding;

    // Declare a proposed size with dimensions set to the maximum integer value.
    Size proposedSize = new Size(int.MaxValue, int.MaxValue);

    // Measure each string with its font and NoPadding value and 
    // draw it to the form.
    for (int i = 0; i < stringsToPaint.Length; i++)
    {
        Size size = TextRenderer.MeasureText(e.Graphics, stringsToPaint[i], 
            fonts[i], proposedSize, flags);
        Rectangle rect = new Rectangle(startPoint, size);
        TextRenderer.DrawText(e.Graphics, stringsToPaint[i], fonts[i],
            startPoint, Color.Black, flags);
        startPoint.X += size.Width;
    }
}
Private Sub DrawALineOfText(ByVal e As PaintEventArgs)
    ' Declare strings to render on the form.
    Dim stringsToPaint() As String = {"Tail", "Spin", " Toys"}

    ' Declare fonts for rendering the strings.
    Dim fonts() As Font = {New Font("Arial", 14, FontStyle.Regular), _
        New Font("Arial", 14, FontStyle.Italic), _
        New Font("Arial", 14, FontStyle.Regular)}

    Dim startPoint As New Point(10, 10)

    ' Set TextFormatFlags to no padding so strings are drawn together.
    Dim flags As TextFormatFlags = TextFormatFlags.NoPadding

    ' Declare a proposed size with dimensions set to the maximum integer value.
    Dim proposedSize As Size = New Size(Integer.MaxValue, Integer.MaxValue)

    ' Measure each string with its font and NoPadding value and draw it to the form.
    For i As Integer = 0 To stringsToPaint.Length - 1
        Dim size As Size = TextRenderer.MeasureText(e.Graphics, _
            stringsToPaint(i), fonts(i), proposedSize, flags)
        Dim rect As Rectangle = New Rectangle(startPoint, size)
        TextRenderer.DrawText(e.Graphics, stringsToPaint(i), fonts(i), _
            startPoint, Color.Black, flags)
        startPoint.X += size.Width
    Next
End Sub

Uwagi

Metoda MeasureText używa parametrów proposedSize i flags , aby wskazać relację wysokości do szerokości podczas określania rozmiaru tekstu. Podczas mierzenia tekstu w jednym wierszu, jeśli proposedSize parametr reprezentuje Size wymiar wysokości większy niż Int32.MaxValue, zwrócony Size zostanie dostosowany w celu odzwierciedlenia rzeczywistej wysokości tekstu.

Możesz manipulować sposobem narysowania tekstu przy użyciu jednego z DrawText przeciążeń, które przyjmuje TextFormatFlags parametr. Na przykład domyślnym zachowaniem elementu TextRenderer jest dodanie dopełnienia do prostokąta ograniczenia rysowanego tekstu, aby pomieścić zwisające glyphs. Jeśli musisz narysować wiersz tekstu bez tych dodatkowych spacji, użyj wersji parametru DrawText i MeasureText Size TextFormatFlags , jak pokazano w przykładzie.

Dotyczy