TextRenderer.MeasureText TextRenderer.MeasureText TextRenderer.MeasureText Method

Definice

Měří zadaný text při vykreslování pomocí zadané písma.Measures the specified text when drawn with the specified font.

Přetížení

MeasureText(String, Font) MeasureText(String, Font) MeasureText(String, Font)

Poskytuje velikost v pixelech zadaný text při vykreslování pomocí zadané písma.Provides the size, in pixels, of the specified text when drawn with the specified font.

MeasureText(IDeviceContext, String, Font) MeasureText(IDeviceContext, String, Font) MeasureText(IDeviceContext, String, Font)

Poskytuje velikost v pixelech zadaný text nakreslit určené písmo v rámci zadané zařízení.Provides the size, in pixels, of the specified text drawn with the specified font in the specified device context.

MeasureText(String, Font, Size) MeasureText(String, Font, Size) MeasureText(String, Font, Size)

Poskytuje velikost v pixelech zadaný text při vykreslování pomocí zadané písma, vytvoření počáteční ohraničující obdélník pomocí zadané velikosti.Provides the size, in pixels, of the specified text when drawn with the specified font, using the specified size to create an initial bounding rectangle.

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

Poskytuje velikost v pixelech zadaný text při vykreslování pomocí zadané písma v rámci zadané zařízení, vytváření počáteční ohraničující rámeček pro text pomocí zadané velikosti.Provides the size, in pixels, of the specified text when drawn with the specified font in the specified device context, using the specified size to create an initial bounding rectangle for the text.

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

Poskytuje velikost v pixelech zadaný text při vykreslování pomocí určeného písma a formátování pokyny k vytvoření počáteční ohraničující rámeček pro text pomocí zadané velikosti.Provides the size, in pixels, of the specified text when drawn with the specified font and formatting instructions, using the specified size to create the initial bounding rectangle for the text.

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

Poskytuje velikost v pixelech zadaný text při vykreslení zadané zařízení kontextu, písma a formátování pokyny k vytvoření počáteční ohraničující rámeček pro text pomocí zadané velikosti.Provides the size, in pixels, of the specified text when drawn with the specified device context, font, and formatting instructions, using the specified size to create the initial bounding rectangle for the text.

MeasureText(String, Font) MeasureText(String, Font) MeasureText(String, Font)

Poskytuje velikost v pixelech zadaný text při vykreslování pomocí zadané písma.Provides the size, in pixels, of the specified text when drawn with the specified font.

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);
static member MeasureText : string * System.Drawing.Font -> System.Drawing.Size

Parametry

text
String String String

Text k měření.The text to measure.

font
Font Font Font

Font k použití na měřené text.The Font to apply to the measured text.

Návraty

Size, V pixelech, o text vykreslen na jednom řádku se zadaným font.The Size, in pixels, of text drawn on a single line with the specified font. Můžete měnit, jak je text vykresleno pomocí jedné z DrawText(IDeviceContext, String, Font, Rectangle, Color, TextFormatFlags) přetížení, která přijímá TextFormatFlags parametru.You can manipulate how the text is drawn by using one of the DrawText(IDeviceContext, String, Font, Rectangle, Color, TextFormatFlags) overloads that takes a TextFormatFlags parameter. Například výchozí chování TextRenderer je přidat do ohraničující obdélník kresleném textu tak, aby vyhovovaly overhanging glyfy odsazení.For example, the default behavior of the TextRenderer is to add padding to the bounding rectangle of the drawn text to accommodate overhanging glyphs. Pokud je potřeba vykreslit řádek textu bez těchto nadbytečné mezery, měli byste použít verze DrawText(IDeviceContext, String, Font, Point, Color) a MeasureText(IDeviceContext, String, Font) trvají Size a TextFormatFlags parametru.If you need to draw a line of text without these extra spaces you should use the versions of DrawText(IDeviceContext, String, Font, Point, Color) and MeasureText(IDeviceContext, String, Font) that take a Size and TextFormatFlags parameter. Příklad naleznete v tématu MeasureText(IDeviceContext, String, Font, Size, TextFormatFlags).For an example, see MeasureText(IDeviceContext, String, Font, Size, TextFormatFlags).

Příklady

Následující příklad kódu ukazuje, jak používat MeasureText metody.The following code example demonstrates how to use the MeasureText method. Chcete-li spustit tento příklad, vložte kód do formuláře Windows a volání MeasureText1 ve formuláři Paint obslužná rutina události, předávání e jako PaintEventArgs.To run this example, paste the code into a Windows Form and call MeasureText1 from the form's Paint event handler, passing e as 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

MeasureText Metoda vyžaduje, že text je vykreslen na jednom řádku.The MeasureText method requires that the text is drawn on a single line.

MeasureText(IDeviceContext, String, Font) MeasureText(IDeviceContext, String, Font) MeasureText(IDeviceContext, String, Font)

Poskytuje velikost v pixelech zadaný text nakreslit určené písmo v rámci zadané zařízení.Provides the size, in pixels, of the specified text drawn with the specified font in the specified device context.

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);
static member MeasureText : System.Drawing.IDeviceContext * string * System.Drawing.Font -> System.Drawing.Size

Parametry

dc
IDeviceContext IDeviceContext IDeviceContext

Kontext zařízení, ve kterém chcete změřit text.The device context in which to measure the text.

text
String String String

Text k měření.The text to measure.

font
Font Font Font

Font k použití na měřené text.The Font to apply to the measured text.

Návraty

Size, V pixelech, o text vykreslen na jednom řádku se zadaným font v rámci zadané zařízení.The Size, in pixels, of text drawn in a single line with the specified font in the specified device context.

Příklady

Následující příklad kódu ukazuje, jak použít jednu z MeasureText metody.The following code example demonstrates how to use one of the MeasureText methods. Chcete-li spustit tento příklad, vložte kód do formuláře Windows a volání DrawALineOfText ve formuláři Paint obslužná rutina události, předávání e jako PaintEventArgs.To run this example, paste the code into a Windows Form and call DrawALineOfText from the form's Paint event handler, passing e as 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 Metoda vyžaduje, že text je vykreslen na jednom řádku.The MeasureText method requires that the text is drawn on a single line.

MeasureText(String, Font, Size) MeasureText(String, Font, Size) MeasureText(String, Font, Size)

Poskytuje velikost v pixelech zadaný text při vykreslování pomocí zadané písma, vytvoření počáteční ohraničující obdélník pomocí zadané velikosti.Provides the size, in pixels, of the specified text when drawn with the specified font, using the specified size to create an initial bounding rectangle.

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);
static member MeasureText : string * System.Drawing.Font * System.Drawing.Size -> System.Drawing.Size

Parametry

text
String String String

Text k měření.The text to measure.

font
Font Font Font

Font k použití na měřené text.The Font to apply to the measured text.

proposedSize
Size Size Size

Size Počáteční ohraničujícího rámečku.The Size of the initial bounding rectangle.

Návraty

Size, V pixelech, o text vykresleno pomocí zadaného font.The Size, in pixels, of text drawn with the specified font.

Příklady

Následující příklad kódu ukazuje, jak použít jednu z MeasureText metody.The following code example demonstrates how to use one of the MeasureText methods. Chcete-li spustit tento příklad, vložte kód do formuláře Windows a volání DrawALineOfText ve formuláři Paint obslužná rutina události, předávání e jako PaintEventArgs.To run this example, paste the code into a Windows Form and call DrawALineOfText from the form's Paint event handler, passing e as 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 Metoda používá proposedSize parametr označuje vztah zvětšen při určování velikosti textu.The MeasureText method uses the proposedSize parameter to indicate the relationship of height to width when determining the text size. Při měření text na jednom řádku, pokud proposedSize představuje parametr Size s větší než dimenze výšce Int32.MaxValue, vrácený Size se upraví tak, aby odrážely skutečné výška textu.When measuring text on a single line, if the proposedSize parameter represents a Size with a height dimension greater than Int32.MaxValue, the returned Size will be adjusted to reflect the actual height of the text.

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

Poskytuje velikost v pixelech zadaný text při vykreslování pomocí zadané písma v rámci zadané zařízení, vytváření počáteční ohraničující rámeček pro text pomocí zadané velikosti.Provides the size, in pixels, of the specified text when drawn with the specified font in the specified device context, using the specified size to create an initial bounding rectangle for the text.

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);
static member MeasureText : System.Drawing.IDeviceContext * string * System.Drawing.Font * System.Drawing.Size -> System.Drawing.Size

Parametry

dc
IDeviceContext IDeviceContext IDeviceContext

Kontext zařízení, ve kterém chcete změřit text.The device context in which to measure the text.

text
String String String

Text k měření.The text to measure.

font
Font Font Font

Font k použití na měřené text.The Font to apply to the measured text.

proposedSize
Size Size Size

Size Počáteční ohraničujícího rámečku.The Size of the initial bounding rectangle.

Návraty

Size, V pixelech, o text vykresleno pomocí zadaného font.The Size, in pixels, of text drawn with the specified font.

Výjimky

Příklady

Následující příklad kódu ukazuje, jak použít jednu z MeasureText metody.The following code example demonstrates how to use one of the MeasureText methods. Chcete-li spustit tento příklad, vložte kód do formuláře Windows a volání DrawALineOfText ve formuláři Paint obslužná rutina události, předávání e jako PaintEventArgs.To run this example, paste the code into a Windows Form and call DrawALineOfText from the form's Paint event handler, passing e as 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 Metoda používá proposedSize parametr označuje vztah zvětšen při určování velikosti textu.The MeasureText method uses the proposedSize parameter to indicate the relationship of height to width when determining the text size. Při měření text na jednom řádku, pokud proposedSize představuje parametr Size s větší než dimenze výšce Int32.MaxValue, vrácený Size se upraví tak, aby odrážely skutečné výška textu.When measuring text on a single line, if the proposedSize parameter represents a Size with a height dimension greater than Int32.MaxValue, the returned Size will be adjusted to reflect the actual height of the text.

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

Poskytuje velikost v pixelech zadaný text při vykreslování pomocí určeného písma a formátování pokyny k vytvoření počáteční ohraničující rámeček pro text pomocí zadané velikosti.Provides the size, in pixels, of the specified text when drawn with the specified font and formatting instructions, using the specified size to create the initial bounding rectangle for the 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);
static member MeasureText : string * System.Drawing.Font * System.Drawing.Size * System.Windows.Forms.TextFormatFlags -> System.Drawing.Size

Parametry

text
String String String

Text k měření.The text to measure.

font
Font Font Font

Font k použití na měřené text.The Font to apply to the measured text.

proposedSize
Size Size Size

Size Počáteční ohraničujícího rámečku.The Size of the initial bounding rectangle.

flags
TextFormatFlags TextFormatFlags TextFormatFlags

Formátování pokyny k použití na měřené text.The formatting instructions to apply to the measured text.

Návraty

Size, V pixelech, o text vykresleno pomocí zadaného font a formát.The Size, in pixels, of text drawn with the specified font and format.

Příklady

Následující příklad kódu ukazuje, jak použít jednu z MeasureText metody.The following code example demonstrates how to use one of the MeasureText methods. Chcete-li spustit tento příklad, vložte kód do formuláře Windows a volání DrawALineOfText ve formuláři Paint obslužná rutina události, předávání e jako PaintEventArgs.To run this example, paste the code into a Windows Form and call DrawALineOfText from the form's Paint event handler, passing e as 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 používá proposedSize a flags parametry označuje vztah zvětšen při určování velikosti textu.MeasureText uses the proposedSize and flags parameters to indicate the relationship of height to width when determining the text size. Při měření text na jednom řádku, pokud proposedSize představuje parametr Size s větší než dimenze výšce Int32.MaxValue, vrácený Size se upraví tak, aby odrážely skutečné výška textu.When measuring text on a single line, if the proposedSize parameter represents a Size with a height dimension greater than Int32.MaxValue, the returned Size will be adjusted to reflect the actual height of the text.

Můžete měnit, jak je text vykresleno pomocí jedné z DrawText přetížení, která přijímá TextFormatFlags parametru.You can manipulate how the text is drawn by using one of the DrawText overloads that takes a TextFormatFlags parameter. Například výchozí chování TextRenderer je přidat do ohraničující obdélník kresleném textu tak, aby vyhovovaly overhanging glyfy odsazení.For example, the default behavior of the TextRenderer is to add padding to the bounding rectangle of the drawn text to accommodate overhanging glyphs. Pokud je potřeba vykreslit řádek textu bez těchto nadbytečné mezery, měli byste použít verze DrawText a MeasureText trvají Size a TextFormatFlags parametru.If you need to draw a line of text without these extra spaces you should use the versions of DrawText and MeasureText that take a Size and TextFormatFlags parameter. Příklad naleznete v tématu MeasureText(IDeviceContext, String, Font, Size, TextFormatFlags).For an example, see MeasureText(IDeviceContext, String, Font, Size, TextFormatFlags).

Poznámka

Toto přetížení MeasureText(String, Font, Size, TextFormatFlags) bude ignorovat TextFormatFlags hodnotu NoPadding nebo LeftAndRightPadding.This overload of MeasureText(String, Font, Size, TextFormatFlags) will ignore a TextFormatFlags value of NoPadding or LeftAndRightPadding. Pokud zadáváte hodnota odsazení jiné než výchozí, měli byste použít přetížení MeasureText(IDeviceContext, String, Font, Size, TextFormatFlags) , která přijímá IDeviceContext objektu.If you are specifying a padding value other than the default, you should use the overload of MeasureText(IDeviceContext, String, Font, Size, TextFormatFlags) that takes a IDeviceContext object.

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

Poskytuje velikost v pixelech zadaný text při vykreslení zadané zařízení kontextu, písma a formátování pokyny k vytvoření počáteční ohraničující rámeček pro text pomocí zadané velikosti.Provides the size, in pixels, of the specified text when drawn with the specified device context, font, and formatting instructions, using the specified size to create the initial bounding rectangle for the 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);
static member MeasureText : System.Drawing.IDeviceContext * string * System.Drawing.Font * System.Drawing.Size * System.Windows.Forms.TextFormatFlags -> System.Drawing.Size

Parametry

dc
IDeviceContext IDeviceContext IDeviceContext

Kontext zařízení, ve kterém chcete změřit text.The device context in which to measure the text.

text
String String String

Text k měření.The text to measure.

font
Font Font Font

Font k použití na měřené text.The Font to apply to the measured text.

proposedSize
Size Size Size

Size Počáteční ohraničujícího rámečku.The Size of the initial bounding rectangle.

flags
TextFormatFlags TextFormatFlags TextFormatFlags

Formátování pokyny k použití na měřené text.The formatting instructions to apply to the measured text.

Návraty

Size, V pixelech, o text vykresleno pomocí zadaného font a formát.The Size, in pixels, of text drawn with the specified font and format.

Výjimky

Příklady

Následující příklad ukazuje způsob použití MeasureText a DrawText metody, chcete-li nakreslit jeden řádek textu ve stylech písmo.The following example demonstrates how to use the MeasureText and DrawText methods to draw a single line of text in different font styles. Spuštění tohoto příkladu následující kód vložte do formuláře Windows a volání DrawALineOfText ve formuláři Paint obslužná rutina události, předávání e jako PaintEventArgs.To run this example paste the following code in a Windows Form and call DrawALineOfText from the form's Paint event handler, passing e as 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 Metoda používá proposedSize a flags parametry označuje vztah zvětšen při určování velikosti textu.The MeasureText method uses the proposedSize and flags parameters to indicate the relationship of height to width when determining the text size. Při měření text na jednom řádku, pokud proposedSize představuje parametr Size s větší než dimenze výšce Int32.MaxValue, vrácený Size se upraví tak, aby odrážely skutečné výška textu.When measuring text on a single line, if the proposedSize parameter represents a Size with a height dimension greater than Int32.MaxValue, the returned Size will be adjusted to reflect the actual height of the text.

Můžete měnit, jak je text vykresleno pomocí jedné z DrawText přetížení, která přijímá TextFormatFlags parametru.You can manipulate how the text is drawn by using one of the DrawText overloads that takes a TextFormatFlags parameter. Například výchozí chování TextRenderer je přidat do ohraničující obdélník kresleném textu tak, aby vyhovovaly overhanging glyfy odsazení.For example, the default behavior of the TextRenderer is to add padding to the bounding rectangle of the drawn text to accommodate overhanging glyphs. Pokud potřebujete k vykreslení řádek textu bez těchto nadbytečné mezery, použijte verze DrawText a MeasureText trvají Size a TextFormatFlags parametru, jak je znázorněno v příkladu.If you need to draw a line of text without these extra spaces, use the versions of DrawText and MeasureText that take a Size and TextFormatFlags parameter, as shown in the example.

Platí pro