Sdílet prostřednictvím


TextRenderer.MeasureText Metoda

Definice

Měří zadaný text při kreslení pomocí zadaného písma.

Přetížení

MeasureText(String, Font, Size, TextFormatFlags)

Poskytuje velikost zadaného textu v pixelech, když je nakreslený pomocí zadaného písma a pokynů k formátování, a použije zadanou velikost k vytvoření počátečního ohraničujícího obdélníku pro text.

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

Poskytuje velikost zadaného textu v pixelech, když je nakreslený pomocí zadaného písma a pokynů k formátování, a použije zadanou velikost k vytvoření počátečního ohraničujícího obdélníku pro text.

MeasureText(IDeviceContext, String, Font, Size)

Poskytuje velikost zadaného textu v pixelech, když je nakreslen zadaným písmem v zadaném kontextu zařízení, a pomocí zadané velikosti vytvoří pro text počáteční ohraničující obdélník.

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

Poskytuje velikost zadaného textu v pixelech, když je nakreslen zadaným písmem v zadaném kontextu zařízení, a pomocí zadané velikosti vytvoří pro text počáteční ohraničující obdélník.

MeasureText(String, Font, Size)

Poskytuje velikost zadaného textu v pixelech, když je nakreslen zadaným písmem, pomocí zadané velikosti vytvoří počáteční ohraničující obdélník.

MeasureText(IDeviceContext, ReadOnlySpan<Char>, Font)

Poskytuje velikost zadaného textu nakresleného zadaným písmem v pixelech v zadaném kontextu zařízení.

MeasureText(IDeviceContext, String, Font)

Poskytuje velikost zadaného textu nakresleného zadaným písmem v pixelech v zadaném kontextu zařízení.

MeasureText(String, Font)

Poskytuje velikost zadaného textu v pixelech, pokud je nakreslen zadaným písmem.

MeasureText(ReadOnlySpan<Char>, Font)

Poskytuje velikost zadaného textu v pixelech, pokud je nakreslen zadaným písmem.

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

Poskytuje velikost zadaného textu v pixelech, když je nakreslený pomocí zadaného kontextu zařízení, písma a pokynů k formátování, a použije zadanou velikost k vytvoření počátečního ohraničujícího obdélníku pro text.

MeasureText(ReadOnlySpan<Char>, Font, Size)

Poskytuje velikost zadaného textu v pixelech, když je nakreslen zadaným písmem, pomocí zadané velikosti vytvoří počáteční ohraničující obdélník.

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

Poskytuje velikost zadaného textu v pixelech, když je nakreslený pomocí zadaného kontextu zařízení, písma a pokynů k formátování, a použije zadanou velikost k vytvoření počátečního ohraničujícího obdélníku pro text.

MeasureText(String, Font, Size, TextFormatFlags)

Poskytuje velikost zadaného textu v pixelech, když je nakreslený pomocí zadaného písma a pokynů k formátování, a použije zadanou velikost k vytvoření počátečního ohraničujícího obdélníku pro text.

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

Text, který chcete změřit.

font
Font

Font se použít na měřený text.

proposedSize
Size

Počáteční Size ohraničující obdélník.

flags
TextFormatFlags

Pokyny k formátování, které se mají použít u měřeného textu.

Návraty

Objekt Sizev pixelech nakreslený text se zadaným font formátem a

Příklady

Následující příklad kódu ukazuje, jak použít jednu z MeasureText metod. Pokud chcete spustit tento příklad, vložte kód do formuláře Windows Form a zavolejte DrawALineOfText ho z obslužné rutiny Paint události formuláře a předejte e ho 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

Poznámky

MeasureText proposedSize používá parametry a flags k označení vztahu výšky a šířky při určování velikosti textu. Pokud parametr při měření textu na jednom řádku proposedSize představuje Size rozměr s výškou větší než Int32.MaxValue, bude vrácená Size hodnota upravena tak, aby odrážela skutečnou výšku textu.

Pomocí jednoho z DrawText přetížení, které přebírá TextFormatFlags parametr, můžete pracovat s tím, jak je text nakreslen. Například výchozím chováním objektu TextRenderer je přidání odsazení do ohraničujícího obdélníku nakresleného textu, aby se přizpůsobilo převislým glyfům. Pokud potřebujete nakreslit čáru textu bez těchto nadbytečných mezer, měli byste použít verze DrawText a MeasureText , které mají Size parametr a TextFormatFlags . Příklad naleznete v tématu MeasureText(IDeviceContext, String, Font, Size, TextFormatFlags).

Poznámka

Toto přetížení MeasureText(String, Font, Size, TextFormatFlags) bude ignorovat TextFormatFlags hodnotu NoPadding nebo LeftAndRightPadding. Pokud zadáváte jinou hodnotu odsazení, než je výchozí, měli byste použít přetížení objektu MeasureText(IDeviceContext, String, Font, Size, TextFormatFlags)IDeviceContext .

Platí pro

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

Poskytuje velikost zadaného textu v pixelech, když je nakreslený pomocí zadaného písma a pokynů k formátování, a použije zadanou velikost k vytvoření počátečního ohraničujícího obdélníku pro text.

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>

Text, který chcete změřit.

font
Font

Font se použít na měřený text.

proposedSize
Size

Počáteční Size ohraničující obdélník.

flags
TextFormatFlags

Pokyny k formátování, které se mají použít u měřeného textu.

Návraty

Objekt Sizev pixelech nakreslený text se zadaným font formátem a

Výjimky

Platí pro

MeasureText(IDeviceContext, String, Font, Size)

Poskytuje velikost zadaného textu v pixelech, když je nakreslen zadaným písmem v zadaném kontextu zařízení, a pomocí zadané velikosti vytvoří pro text počáteční ohraničující obdélník.

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

Kontext zařízení, ve kterém se má text měřit.

text
String

Text, který chcete změřit.

font
Font

Font se použít na měřený text.

proposedSize
Size

Počáteční Size ohraničující obdélník.

Návraty

Objekt Sizev pixelech nakreslený text zadaným fontobjektem .

Výjimky

dc je null.

Příklady

Následující příklad kódu ukazuje, jak použít jednu z MeasureText metod. Pokud chcete spustit tento příklad, vložte kód do formuláře Windows Form a zavolejte DrawALineOfText ho z obslužné rutiny Paint události formuláře a předejte e ho 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

Poznámky

Metoda MeasureText používá proposedSize parametr k označení vztahu výšky a šířky při určování velikosti textu. Pokud parametr při měření textu na jednom řádku proposedSize představuje Size rozměr s výškou větší než Int32.MaxValue, bude vrácená Size hodnota upravena tak, aby odrážela skutečnou výšku textu.

Platí pro

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

Poskytuje velikost zadaného textu v pixelech, když je nakreslen zadaným písmem v zadaném kontextu zařízení, a pomocí zadané velikosti vytvoří pro text počáteční ohraničující obdélník.

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

Kontext zařízení, ve kterém se má text měřit.

text
ReadOnlySpan<Char>

Text, který chcete změřit.

font
Font

Font se použít na měřený text.

proposedSize
Size

Počáteční Size ohraničující obdélník.

Návraty

Objekt Sizev pixelech nakreslený text zadaným fontobjektem .

Výjimky

dc je null.

Platí pro

MeasureText(String, Font, Size)

Poskytuje velikost zadaného textu v pixelech, když je nakreslen zadaným písmem, pomocí zadané velikosti vytvoří počáteční ohraničující obdélník.

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

Text, který chcete změřit.

font
Font

Font se použít na měřený text.

proposedSize
Size

Počáteční Size ohraničující obdélník.

Návraty

Objekt Sizev pixelech nakreslený text zadaným fontobjektem .

Příklady

Následující příklad kódu ukazuje, jak použít jednu z MeasureText metod. Pokud chcete spustit tento příklad, vložte kód do formuláře Windows Form a zavolejte DrawALineOfText ho z obslužné rutiny Paint události formuláře a předejte e ho 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

Poznámky

Metoda MeasureText používá proposedSize parametr k označení vztahu výšky a šířky při určování velikosti textu. Pokud parametr při měření textu na jednom řádku proposedSize představuje Size rozměr s výškou větší než Int32.MaxValue, bude vrácená Size hodnota upravena tak, aby odrážela skutečnou výšku textu.

Platí pro

MeasureText(IDeviceContext, ReadOnlySpan<Char>, Font)

Poskytuje velikost zadaného textu nakresleného zadaným písmem v pixelech v zadaném kontextu zařízení.

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

Kontext zařízení, ve kterém se má text měřit.

text
ReadOnlySpan<Char>

Text, který chcete změřit.

font
Font

Font se použít na měřený text.

Návraty

Nakreslený Sizeobjekt v pixelech text s hodnotou zadanou font v zadaném kontextu zařízení.

Výjimky

dc je null.

Platí pro

MeasureText(IDeviceContext, String, Font)

Poskytuje velikost zadaného textu nakresleného zadaným písmem v pixelech v zadaném kontextu zařízení.

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

Kontext zařízení, ve kterém se má text měřit.

text
String

Text, který chcete změřit.

font
Font

Font se použít na měřený text.

Návraty

Hodnota Sizev pixelech nakreslená text na jednu čáru s hodnotou zadanou font v zadaném kontextu zařízení.

Příklady

Následující příklad kódu ukazuje, jak použít jednu z MeasureText metod. Pokud chcete spustit tento příklad, vložte kód do formuláře Windows Form a zavolejte DrawALineOfText ho z obslužné rutiny Paint události formuláře a předejte e ho 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

Poznámky

Metoda MeasureText vyžaduje, aby byl text nakreslen na jeden řádek.

Platí pro

MeasureText(String, Font)

Poskytuje velikost zadaného textu v pixelech při kreslení pomocí zadaného písma.

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

Text, který chcete změřit.

font
Font

Font se použít na měřený text.

Návraty

Objekt Sizev pixelech nakreslený text na jednu čáru se zadaným fontobjektem . Pomocí jednoho z DrawText(IDeviceContext, String, Font, Rectangle, Color, TextFormatFlags) přetížení, které přebírá TextFormatFlags parametr, můžete pracovat s tím, jak je text nakreslen. Například výchozím chováním objektu TextRenderer je přidání odsazení do ohraničujícího obdélníku nakresleného textu, aby se přizpůsobilo převislým glyfům. Pokud potřebujete nakreslit čáru textu bez těchto nadbytečných mezer, měli byste použít verze DrawText(IDeviceContext, String, Font, Point, Color) a MeasureText(IDeviceContext, String, Font) , které mají Size parametr a TextFormatFlags . Příklad naleznete v tématu MeasureText(IDeviceContext, String, Font, Size, TextFormatFlags).

Příklady

Následující příklad kódu ukazuje, jak použít metodu MeasureText . Pokud chcete spustit tento příklad, vložte kód do formuláře Windows Form a zavolejte MeasureText1 ho z obslužné rutiny Paint události formuláře a předejte e ho 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

Poznámky

Metoda MeasureText vyžaduje, aby byl text nakreslen na jeden řádek.

Platí pro

MeasureText(ReadOnlySpan<Char>, Font)

Poskytuje velikost zadaného textu v pixelech při kreslení pomocí zadaného písma.

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>

Text, který se má změřit.

font
Font

Použije Font se na měřený text.

Návraty

Text Sizenakreslený na jednom řádku se zadaným písmem (v pixelech). S vykreslením textu můžete manipulovat pomocí jednoho z DrawText(IDeviceContext, ReadOnlySpan<Char>, Font, Rectangle, Color, TextFormatFlags) přetížení, které přebírá TextFormatFlags parametr. Například výchozím chováním objektu TextRenderer je přidání odsazení do ohraničujícího obdélníku nakresleného textu, aby bylo možné přizpůsobit převislé glyfy. Pokud potřebujete nakreslit čáru textu bez těchto nadbytečných mezer, měli byste použít verze DrawText(IDeviceContext, ReadOnlySpan<Char>, Font, Point, Color) a MeasureText(IDeviceContext, ReadOnlySpan<Char>, Font) , které mají velikost a TextFormatFlags parametr. Příklad naleznete v tématu MeasureText(IDeviceContext, String, Font, Size, TextFormatFlags).

Platí pro

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

Poskytuje velikost zadaného textu v pixelech při kreslení se zadaným kontextem zařízení, písmem a pokyny pro formátování, přičemž zadanou velikost použije k vytvoření počátečního ohraničujícího obdélníku pro text.

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

Kontext zařízení, ve kterém se má text měřit.

text
ReadOnlySpan<Char>

Text, který se má změřit.

font
Font

Použije Font se na měřený text.

proposedSize
Size

Počátečního Size ohraničujícího obdélníku.

flags
TextFormatFlags

Pokyny k formátování, které se mají použít u měřeného textu.

Návraty

Objekt Sizenakreslený zadaným formátem font v pixelechtext.

Výjimky

dc je null.

Platí pro

MeasureText(ReadOnlySpan<Char>, Font, Size)

Poskytuje velikost zadaného textu v pixelech při kreslení se zadaným písmem a pomocí zadané velikosti vytvoří počáteční ohraničující obdélník.

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>

Text, který se má změřit.

font
Font

Použije Font se na měřený text.

proposedSize
Size

Počátečního Size ohraničujícího obdélníku.

Návraty

Objekt Sizenakreslený text zadaným fontobjektem v pixelech

Platí pro

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

Poskytuje velikost zadaného textu v pixelech při kreslení se zadaným kontextem zařízení, písmem a pokyny pro formátování, přičemž zadanou velikost použije k vytvoření počátečního ohraničujícího obdélníku pro text.

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

Kontext zařízení, ve kterém se má text měřit.

text
String

Text, který se má změřit.

font
Font

Použije Font se na měřený text.

proposedSize
Size

Počátečního Size ohraničujícího obdélníku.

flags
TextFormatFlags

Pokyny k formátování, které se mají použít u měřeného textu.

Návraty

Objekt Sizenakreslený zadaným formátem font v pixelechtext.

Výjimky

dc je null.

Příklady

Následující příklad ukazuje, jak pomocí MeasureText metod a DrawText nakreslit jeden řádek textu v různých stylech písma. Pokud chcete spustit tento příklad, vložte do formuláře Windows Form následující kód a zavolejte DrawALineOfText ho z obslužné rutiny Paint události formuláře a předejte e ho 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

Poznámky

Metoda MeasureText používá proposedSize parametry a flags k označení vztahu výšky a šířky při určování velikosti textu. Pokud parametr při měření textu na jednom řádku představuje Size hodnotu s rozměrem výšky větším než Int32.MaxValue, Size vrácená hodnota se upraví tak, proposedSize aby odrážela skutečnou výšku textu.

S vykreslením textu můžete manipulovat pomocí jednoho z DrawText přetížení, které přebírá TextFormatFlags parametr. Například výchozím chováním objektu TextRenderer je přidání odsazení do ohraničujícího obdélníku nakresleného textu, aby bylo možné přizpůsobit převislé glyfy. Pokud potřebujete nakreslit čáru textu bez těchto nadbytečných mezer, použijte verze DrawText a MeasureText , které mají Size parametr a TextFormatFlags , jak je znázorněno v příkladu.

Platí pro