TextRenderer.MeasureText Metod

Definition

Mäter den angivna texten när den ritas med det angivna teckensnittet.

Överlagringar

Name Description
MeasureText(String, Font)

Visar storleken, i bildpunkter, på den angivna texten när den ritas med det angivna teckensnittet.

MeasureText(IDeviceContext, String, Font)

Visar storleken, i bildpunkter, på den angivna texten som ritats med det angivna teckensnittet i den angivna enhetskontexten.

MeasureText(String, Font, Size)

Visar storleken, i bildpunkter, på den angivna texten när den ritas med det angivna teckensnittet, med den angivna storleken för att skapa en inledande rektangel för avgränsning.

MeasureText(IDeviceContext, String, Font, Size)

Visar storleken, i bildpunkter, på den angivna texten när den ritas med det angivna teckensnittet i den angivna enhetskontexten, med den angivna storleken för att skapa en inledande rektangel för texten.

MeasureText(String, Font, Size, TextFormatFlags)

Visar storleken, i bildpunkter, på den angivna texten när den ritas med angivna teckensnitts- och formateringsinstruktioner, med den angivna storleken för att skapa den inledande rektangeln för texten.

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

Visar storleken i bildpunkter på den angivna texten när den ritas med angivna instruktioner för enhetskontext, teckensnitt och formatering, med den angivna storleken för att skapa den inledande rektangeln för texten.

MeasureText(String, Font)

Visar storleken, i bildpunkter, på den angivna texten när den ritas med det angivna teckensnittet.

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
Public Shared Function MeasureText (text As String, font As Font) As Size

Parametrar

text
String

Texten som ska mätas.

font
Font

Att Font tillämpa på den uppmätta texten.

Returer

, Sizei bildpunkter, som text ritats på en enda rad med angiven font. Du kan ändra hur texten ritas med hjälp av en av de DrawText(IDeviceContext, String, Font, Rectangle, Color, TextFormatFlags) överlagringar som tar en TextFormatFlags parameter. Standardbeteendet TextRenderer för är till exempel att lägga till utfyllnad i den ritade textens avgränsningsrektangel för att hantera överhängande glyfer. Om du behöver rita en textrad utan dessa extra blanksteg bör du använda versionerna av DrawText(IDeviceContext, String, Font, Point, Color) och MeasureText(IDeviceContext, String, Font) som tar en Size och TextFormatFlags -parameter. Ett exempel finns i MeasureText(IDeviceContext, String, Font, Size, TextFormatFlags).

Exempel

I följande kodexempel visas hur du använder MeasureText metoden. Om du vill köra det här exemplet klistrar du in koden i ett Windows formulär och anropar MeasureText1 från formulärets händelsehanterare Paint och skickar e som 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

Kommentarer

Metoden MeasureText kräver att texten ritas på en enda rad.

Gäller för

MeasureText(IDeviceContext, String, Font)

Visar storleken, i bildpunkter, på den angivna texten som ritats med det angivna teckensnittet i den angivna enhetskontexten.

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
Public Shared Function MeasureText (dc As IDeviceContext, text As String, font As Font) As Size

Parametrar

dc
IDeviceContext

Enhetskontexten där texten ska mätas.

text
String

Texten som ska mätas.

font
Font

Att Font tillämpa på den uppmätta texten.

Returer

, Sizei bildpunkter, som text ritas i en enda rad med angiven font i den angivna enhetskontexten.

Exempel

I följande kodexempel visas hur du använder någon av MeasureText metoderna. Om du vill köra det här exemplet klistrar du in koden i ett Windows formulär och anropar DrawALineOfText från formulärets händelsehanterare Paint och skickar e som 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

Kommentarer

Metoden MeasureText kräver att texten ritas på en enda rad.

Gäller för

MeasureText(String, Font, Size)

Visar storleken, i bildpunkter, på den angivna texten när den ritas med det angivna teckensnittet, med den angivna storleken för att skapa en inledande rektangel för avgränsning.

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
Public Shared Function MeasureText (text As String, font As Font, proposedSize As Size) As Size

Parametrar

text
String

Texten som ska mätas.

font
Font

Att Font tillämpa på den uppmätta texten.

proposedSize
Size

Den Size första rektangelns avgränsning.

Returer

, Sizei bildpunkter, som text ritats med angiven font.

Exempel

I följande kodexempel visas hur du använder någon av MeasureText metoderna. Om du vill köra det här exemplet klistrar du in koden i ett Windows formulär och anropar DrawALineOfText från formulärets händelsehanterare Paint och skickar e som 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

Kommentarer

Metoden MeasureText använder parametern proposedSize för att ange förhållandet mellan höjd och bredd när textstorleken fastställs. Om parametern proposedSize representerar en Size höjddimension som är större än Int32.MaxValuenär du mäter text på en enskild rad justeras den returnerade Size för att återspegla textens faktiska höjd.

Gäller för

MeasureText(IDeviceContext, String, Font, Size)

Visar storleken, i bildpunkter, på den angivna texten när den ritas med det angivna teckensnittet i den angivna enhetskontexten, med den angivna storleken för att skapa en inledande rektangel för texten.

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
Public Shared Function MeasureText (dc As IDeviceContext, text As String, font As Font, proposedSize As Size) As Size

Parametrar

dc
IDeviceContext

Enhetskontexten där texten ska mätas.

text
String

Texten som ska mätas.

font
Font

Att Font tillämpa på den uppmätta texten.

proposedSize
Size

Den Size första rektangelns avgränsning.

Returer

, Sizei bildpunkter, som text ritats med angiven font.

Undantag

dc är null.

Exempel

I följande kodexempel visas hur du använder någon av MeasureText metoderna. Om du vill köra det här exemplet klistrar du in koden i ett Windows formulär och anropar DrawALineOfText från formulärets händelsehanterare Paint och skickar e som 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

Kommentarer

Metoden MeasureText använder parametern proposedSize för att ange förhållandet mellan höjd och bredd när textstorleken fastställs. Om parametern proposedSize representerar en Size höjddimension som är större än Int32.MaxValuenär du mäter text på en enskild rad justeras den returnerade Size för att återspegla textens faktiska höjd.

Gäller för

MeasureText(String, Font, Size, TextFormatFlags)

Visar storleken, i bildpunkter, på den angivna texten när den ritas med angivna teckensnitts- och formateringsinstruktioner, med den angivna storleken för att skapa den inledande rektangeln för texten.

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
Public Shared Function MeasureText (text As String, font As Font, proposedSize As Size, flags As TextFormatFlags) As Size

Parametrar

text
String

Texten som ska mätas.

font
Font

Att Font tillämpa på den uppmätta texten.

proposedSize
Size

Den Size första rektangelns avgränsning.

flags
TextFormatFlags

Formateringsinstruktionerna som ska tillämpas på den uppmätta texten.

Returer

, Sizei bildpunkter, som text ritats med angivet font format och format.

Exempel

I följande kodexempel visas hur du använder någon av MeasureText metoderna. Om du vill köra det här exemplet klistrar du in koden i ett Windows formulär och anropar DrawALineOfText från formulärets händelsehanterare Paint och skickar e som 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

Kommentarer

MeasureText använder parametrarna proposedSize och flags för att ange förhållandet mellan höjd och bredd när textstorleken fastställs. Om parametern proposedSize representerar en Size höjddimension som är större än Int32.MaxValuenär du mäter text på en enskild rad justeras den returnerade Size för att återspegla textens faktiska höjd.

Du kan ändra hur texten ritas med hjälp av en av de DrawText överlagringar som tar en TextFormatFlags parameter. Standardbeteendet TextRenderer för är till exempel att lägga till utfyllnad i den ritade textens avgränsningsrektangel för att hantera överhängande glyfer. Om du behöver rita en textrad utan dessa extra blanksteg bör du använda versionerna av DrawText och MeasureText som tar en Size och TextFormatFlags -parameter. Ett exempel finns i MeasureText(IDeviceContext, String, Font, Size, TextFormatFlags).

Note

Den här överlagringen av MeasureText(String, Font, Size, TextFormatFlags) ignorerar värdet NoPaddingTextFormatFlags eller LeftAndRightPadding. Om du anger ett annat utfyllnadsvärde än standardvärdet bör du använda överlagringen av MeasureText(IDeviceContext, String, Font, Size, TextFormatFlags) det som tar ett IDeviceContext objekt.

Gäller för

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

Visar storleken i bildpunkter på den angivna texten när den ritas med angivna instruktioner för enhetskontext, teckensnitt och formatering, med den angivna storleken för att skapa den inledande rektangeln för texten.

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
Public Shared Function MeasureText (dc As IDeviceContext, text As String, font As Font, proposedSize As Size, flags As TextFormatFlags) As Size

Parametrar

dc
IDeviceContext

Enhetskontexten där texten ska mätas.

text
String

Texten som ska mätas.

font
Font

Att Font tillämpa på den uppmätta texten.

proposedSize
Size

Den Size första rektangelns avgränsning.

flags
TextFormatFlags

Formateringsinstruktionerna som ska tillämpas på den uppmätta texten.

Returer

, Sizei bildpunkter, som text ritats med angivet font format och format.

Undantag

dc är null.

Exempel

I följande exempel visas hur du använder MeasureText metoderna och DrawText för att rita en enda textrad i olika teckensnittsformat. Om du vill köra det här exemplet klistrar du in följande kod i ett Windows-formulär och anropar DrawALineOfText från formulärets händelsehanterare Paint och skickar e som 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

Kommentarer

Metoden MeasureText använder parametrarna proposedSize och flags för att ange förhållandet mellan höjd och bredd när textstorleken fastställs. Om parametern proposedSize representerar en Size höjddimension som är större än Int32.MaxValuenär du mäter text på en enskild rad justeras den returnerade Size för att återspegla textens faktiska höjd.

Du kan ändra hur texten ritas med hjälp av en av de DrawText överlagringar som tar en TextFormatFlags parameter. Standardbeteendet TextRenderer för är till exempel att lägga till utfyllnad i den ritade textens avgränsningsrektangel för att hantera överhängande glyfer. Om du behöver rita en textrad utan dessa extra blanksteg använder du versionerna av DrawText och MeasureText som tar en Size och TextFormatFlags -parameter, som du ser i exemplet.

Gäller för