Udostępnij za pośrednictwem


TextRenderer.MeasureText Metoda

Definicja

Mierzy określony tekst po narysowanym za pomocą 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

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 systemu Windows i wywołaj DrawALineOfText go z procedury obsługi zdarzeń formularza Paint , 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 tekst 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 DrawTextMeasureText , 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

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

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 systemu Windows i wywołaj DrawALineOfText go z procedury obsługi zdarzeń formularza Paint , 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 tekst 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

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

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 systemu Windows i wywołaj DrawALineOfText go z procedury obsługi zdarzeń formularza Paint , 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 tekst 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

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

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 systemu Windows i wywołaj DrawALineOfText go z procedury obsługi zdarzeń formularza Paint , 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)

Udostępnia rozmiar określonego tekstu w pikselach 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

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 DrawText(IDeviceContext, String, Font, Point, Color) i 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 systemu Windows i wywołaj MeasureText1 go z procedury obsługi zdarzeń formularza Paint , 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)

Udostępnia rozmiar określonego tekstu w pikselach 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

, 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 obiektu TextRenderer jest dodanie wypełnienia do prostokąta ograniczenia rysowanego tekstu w celu uwzględnienia zwisających kropek. Jeśli musisz narysować wiersz tekstu bez tych dodatkowych spacji, należy użyć wersji DrawText(IDeviceContext, ReadOnlySpan<Char>, Font, Point, Color) i MeasureText(IDeviceContext, ReadOnlySpan<Char>, Font) , które przyjmują 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, używając określonego rozmiaru do utworzenia początkowego prostokąta ograniczenia 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ć mierzony tekst.

text
ReadOnlySpan<Char>

Tekst do zmierzenia.

font
Font

Element Font do zastosowania do mierzonego tekstu.

proposedSize
Size

Wartość Size początkowego prostokąta ograniczenia.

flags
TextFormatFlags

Instrukcje dotyczące formatowania stosowane do mierzonego tekstu.

Zwraca

, Sizew pikselach text , narysowany z określonym font i formatem.

Wyjątki

dc to null.

Dotyczy

MeasureText(ReadOnlySpan<Char>, Font, Size)

Udostępnia rozmiar określonego tekstu w pikselach po narysowaniu 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

Wartość Size początkowego prostokąta ograniczenia.

Zwraca

, Sizew pikselach text , narysowany z określonym font.

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, używając określonego rozmiaru do utworzenia początkowego prostokąta ograniczenia 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ć mierzony tekst.

text
String

Tekst do zmierzenia.

font
Font

Element Font do zastosowania do mierzonego tekstu.

proposedSize
Size

Wartość Size początkowego prostokąta ograniczenia.

flags
TextFormatFlags

Instrukcje dotyczące formatowania stosowane do mierzonego tekstu.

Zwraca

, Sizew pikselach text , narysowany z określonym font i formatem.

Wyjątki

dc to null.

Przykłady

W poniższym przykładzie pokazano, jak za pomocą MeasureText metod i DrawText narysować pojedynczy wiersz tekstu w różnych stylach czcionek. Aby uruchomić ten przykład, wklej następujący kod w formularzu systemu Windows i wywołaj DrawALineOfText metodę z procedury obsługi zdarzeń formularza Paint , 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 proposedSize parametrów 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 o wysokości większej 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 obiektu TextRenderer jest dodanie wypełnienia do prostokąta ograniczenia rysowanego tekstu w celu uwzględnienia zwisających kropek. Jeśli musisz narysować wiersz tekstu bez tych dodatkowych spacji, użyj wersji parametru DrawText i MeasureTextSizeTextFormatFlags , jak pokazano w przykładzie.

Dotyczy