Share via


TextRenderer.MeasureText Yöntem

Tanım

Belirtilen yazı tipiyle çizildiğinde belirtilen metni ölçer.

Aşırı Yüklemeler

MeasureText(String, Font, Size, TextFormatFlags)

Belirtilen yazı tipi ve biçimlendirme yönergeleriyle çizildiğinde belirtilen metnin boyutunu piksel cinsinden sağlar ve metnin ilk sınırlayıcı dikdörtgenini oluşturmak için belirtilen boyutu kullanır.

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

Belirtilen yazı tipi ve biçimlendirme yönergeleriyle çizildiğinde belirtilen metnin boyutunu piksel cinsinden sağlar ve metnin ilk sınırlayıcı dikdörtgenini oluşturmak için belirtilen boyutu kullanır.

MeasureText(IDeviceContext, String, Font, Size)

Belirtilen boyutu kullanarak belirtilen metin için ilk sınırlayıcı dikdörtgeni oluşturmak üzere belirtilen cihaz bağlamında belirtilen yazı tipiyle çizildiğinde belirtilen metnin boyutunu piksel cinsinden sağlar.

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

Belirtilen boyutu kullanarak belirtilen metin için ilk sınırlayıcı dikdörtgeni oluşturmak üzere belirtilen cihaz bağlamında belirtilen yazı tipiyle çizildiğinde belirtilen metnin boyutunu piksel cinsinden sağlar.

MeasureText(String, Font, Size)

Belirtilen yazı tipiyle çizildiğinde belirtilen metnin boyutunu piksel cinsinden sağlar ve belirtilen boyutu kullanarak ilk sınırlayıcı dikdörtgeni oluşturur.

MeasureText(IDeviceContext, ReadOnlySpan<Char>, Font)

Belirtilen cihaz bağlamında belirtilen yazı tipiyle çizilen belirtilen metnin boyutunu piksel cinsinden sağlar.

MeasureText(IDeviceContext, String, Font)

Belirtilen cihaz bağlamında belirtilen yazı tipiyle çizilen belirtilen metnin boyutunu piksel cinsinden sağlar.

MeasureText(String, Font)

Belirtilen yazı tipiyle çizildiğinde belirtilen metnin boyutunu piksel cinsinden sağlar.

MeasureText(ReadOnlySpan<Char>, Font)

Belirtilen yazı tipiyle çizildiğinde belirtilen metnin boyutunu piksel cinsinden sağlar.

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

Belirtilen boyutu kullanarak belirtilen metin için ilk sınırlayıcı dikdörtgeni oluşturmak üzere belirtilen cihaz bağlamı, yazı tipi ve biçimlendirme yönergeleriyle çizildiğinde belirtilen metnin boyutunu piksel cinsinden sağlar.

MeasureText(ReadOnlySpan<Char>, Font, Size)

Belirtilen yazı tipiyle çizildiğinde belirtilen metnin boyutunu piksel cinsinden sağlar ve belirtilen boyutu kullanarak ilk sınırlayıcı dikdörtgeni oluşturur.

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

Belirtilen boyutu kullanarak belirtilen metin için ilk sınırlayıcı dikdörtgeni oluşturmak üzere belirtilen cihaz bağlamı, yazı tipi ve biçimlendirme yönergeleriyle çizildiğinde belirtilen metnin boyutunu piksel cinsinden sağlar.

MeasureText(String, Font, Size, TextFormatFlags)

Belirtilen yazı tipi ve biçimlendirme yönergeleriyle çizildiğinde belirtilen metnin boyutunu piksel cinsinden sağlar ve metnin ilk sınırlayıcı dikdörtgenini oluşturmak için belirtilen boyutu kullanır.

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

Parametreler

text
String

Ölçülecek metin.

font
Font

Font Ölçülen metne uygulanacak.

proposedSize
Size

Size İlk sınırlayıcı dikdörtgenin değeri.

flags
TextFormatFlags

Ölçülen metne uygulanacak biçimlendirme yönergeleri.

Döndürülenler

Sizebelirtilen font ve biçimiyle çizilmiş piksel cinsinden text değeri.

Örnekler

Aşağıdaki kod örneğinde yöntemlerden birinin MeasureText nasıl kullanılacağı gösterilmektedir. Bu örneği çalıştırmak için, kodu bir Windows Formuna yapıştırın ve olarak geçirerek ePaintEventArgsformun Paint olay işleyicisinden çağrısı DrawALineOfText yapın.

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

Açıklamalar

MeasureTextproposedSize metin boyutunu belirlerken yükseklik ile genişlik ilişkisini belirtmek için ve flags parametrelerini kullanır. Tek bir satırdaki metin ölçülürken, parametre yükseklik boyutu değerinden proposedSizeInt32.MaxValuebüyük olan bir Size değerini temsil ederse, döndürülen Size değer metnin gerçek yüksekliğini yansıtacak şekilde ayarlanır.

Parametre alan TextFormatFlags aşırı yüklemelerden birini DrawText kullanarak metnin nasıl çizildiğini değiştirebilirsiniz. Örneğin, öğesinin TextRenderer varsayılan davranışı, köşeli karakter sayısını karşılamak için çizilen metnin sınırlayıcı dikdörtgenine doldurma eklemektir. Bu fazladan boşluklar olmadan bir metin satırı çizmeniz gerekiyorsa ve MeasureTextTextFormatFlags ve parametrelerini alan Size sürümlerini DrawText kullanmanız gerekir. Örnek için bkz. MeasureText(IDeviceContext, String, Font, Size, TextFormatFlags)

Not

bu aşırı yüklemesi MeasureText(String, Font, Size, TextFormatFlags) veya LeftAndRightPaddingdeğerini NoPadding yoksayarTextFormatFlags. Varsayılan değer dışında bir doldurma değeri belirtiyorsanız, nesnesini IDeviceContext alan öğesinin aşırı yüklemesini MeasureText(IDeviceContext, String, Font, Size, TextFormatFlags) kullanmanız gerekir.

Şunlara uygulanır

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

Belirtilen yazı tipi ve biçimlendirme yönergeleriyle çizildiğinde belirtilen metnin boyutunu piksel cinsinden sağlar ve metnin ilk sınırlayıcı dikdörtgenini oluşturmak için belirtilen boyutu kullanır.

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

Parametreler

text
ReadOnlySpan<Char>

Ölçülecek metin.

font
Font

Font Ölçülen metne uygulanacak.

proposedSize
Size

Size İlk sınırlayıcı dikdörtgenin değeri.

flags
TextFormatFlags

Ölçülen metne uygulanacak biçimlendirme yönergeleri.

Döndürülenler

Sizebelirtilen font ve biçimiyle çizilmiş piksel cinsinden text değeri.

Özel durumlar

Şunlara uygulanır

MeasureText(IDeviceContext, String, Font, Size)

Belirtilen boyutu kullanarak belirtilen metin için ilk sınırlayıcı dikdörtgeni oluşturmak üzere belirtilen cihaz bağlamında belirtilen yazı tipiyle çizildiğinde belirtilen metnin boyutunu piksel cinsinden sağlar.

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

Parametreler

dc
IDeviceContext

Metnin ölçüldiği cihaz bağlamı.

text
String

Ölçülecek metin.

font
Font

Font Ölçülen metne uygulanacak.

proposedSize
Size

Size İlk sınırlayıcı dikdörtgenin değeri.

Döndürülenler

Sizebelirtilen fontile çizilmiş piksel cinsinden text değeri.

Özel durumlar

dc, null değeridir.

Örnekler

Aşağıdaki kod örneğinde yöntemlerden birinin MeasureText nasıl kullanılacağı gösterilmektedir. Bu örneği çalıştırmak için, kodu bir Windows Formuna yapıştırın ve olarak geçirerek ePaintEventArgsformun Paint olay işleyicisinden çağrısı DrawALineOfText yapın.

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

Açıklamalar

yöntemi, MeasureText metin boyutunu belirlerken yükseklik ile genişlik ilişkisini belirtmek için parametresini kullanır proposedSize . Tek bir satırdaki metin ölçülürken, parametre yükseklik boyutu değerinden proposedSizeInt32.MaxValuebüyük olan bir Size değerini temsil ederse, döndürülen Size değer metnin gerçek yüksekliğini yansıtacak şekilde ayarlanır.

Şunlara uygulanır

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

Belirtilen boyutu kullanarak belirtilen metin için ilk sınırlayıcı dikdörtgeni oluşturmak üzere belirtilen cihaz bağlamında belirtilen yazı tipiyle çizildiğinde belirtilen metnin boyutunu piksel cinsinden sağlar.

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

Parametreler

dc
IDeviceContext

Metnin ölçüldiği cihaz bağlamı.

text
ReadOnlySpan<Char>

Ölçülecek metin.

font
Font

Font Ölçülen metne uygulanacak.

proposedSize
Size

Size İlk sınırlayıcı dikdörtgenin değeri.

Döndürülenler

Sizebelirtilen fontile çizilmiş piksel cinsinden text değeri.

Özel durumlar

dc, null değeridir.

Şunlara uygulanır

MeasureText(String, Font, Size)

Belirtilen yazı tipiyle çizildiğinde belirtilen metnin boyutunu piksel cinsinden sağlar ve belirtilen boyutu kullanarak ilk sınırlayıcı dikdörtgeni oluşturur.

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

Parametreler

text
String

Ölçülecek metin.

font
Font

Font Ölçülen metne uygulanacak.

proposedSize
Size

Size İlk sınırlayıcı dikdörtgenin değeri.

Döndürülenler

Sizebelirtilen fontile çizilmiş piksel cinsinden text değeri.

Örnekler

Aşağıdaki kod örneğinde yöntemlerden birinin MeasureText nasıl kullanılacağı gösterilmektedir. Bu örneği çalıştırmak için, kodu bir Windows Formuna yapıştırın ve olarak geçirerek ePaintEventArgsformun Paint olay işleyicisinden çağrısı DrawALineOfText yapın.

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

Açıklamalar

yöntemi, MeasureText metin boyutunu belirlerken yükseklik ile genişlik ilişkisini belirtmek için parametresini kullanır proposedSize . Tek bir satırdaki metin ölçülürken, parametre yükseklik boyutu değerinden proposedSizeInt32.MaxValuebüyük olan bir Size değerini temsil ederse, döndürülen Size değer metnin gerçek yüksekliğini yansıtacak şekilde ayarlanır.

Şunlara uygulanır

MeasureText(IDeviceContext, ReadOnlySpan<Char>, Font)

Belirtilen cihaz bağlamında belirtilen yazı tipiyle çizilen belirtilen metnin boyutunu piksel cinsinden sağlar.

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

Parametreler

dc
IDeviceContext

Metnin ölçüldiği cihaz bağlamı.

text
ReadOnlySpan<Char>

Ölçülecek metin.

font
Font

Font Ölçülen metne uygulanacak.

Döndürülenler

belirtilen Sizecihaz bağlamında belirtilen font ile çizilmiş piksel text cinsinden değeri.

Özel durumlar

dc, null değeridir.

Şunlara uygulanır

MeasureText(IDeviceContext, String, Font)

Belirtilen cihaz bağlamında belirtilen yazı tipiyle çizilen belirtilen metnin boyutunu piksel cinsinden sağlar.

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

Parametreler

dc
IDeviceContext

Metnin ölçüldiği cihaz bağlamı.

text
String

Ölçülecek metin.

font
Font

Font Ölçülen metne uygulanacak.

Döndürülenler

belirtilen Sizecihaz bağlamında belirtilen font ile tek bir satırda çizilmiş piksel cinsinden değeritext.

Örnekler

Aşağıdaki kod örneğinde yöntemlerden birinin MeasureText nasıl kullanılacağı gösterilmektedir. Bu örneği çalıştırmak için, kodu bir Windows Formuna yapıştırın ve olarak geçirerek ePaintEventArgsformun Paint olay işleyicisinden çağrısı DrawALineOfText yapın.

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

Açıklamalar

yöntemi, MeasureText metnin tek bir satırda çizilmiş olmasını gerektirir.

Şunlara uygulanır

MeasureText(String, Font)

Belirtilen yazı tipiyle çizildiğinde belirtilen metnin boyutunu piksel cinsinden sağlar.

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

Parametreler

text
String

Ölçülecek metin.

font
Font

Font Ölçülen metne uygulanacak.

Döndürülenler

Sizebelirtilen fontile tek bir satıra çizilmiş piksel cinsinden text değeri. Parametre alan TextFormatFlags aşırı yüklemelerden birini DrawText(IDeviceContext, String, Font, Rectangle, Color, TextFormatFlags) kullanarak metnin nasıl çizildiğini değiştirebilirsiniz. Örneğin, öğesinin TextRenderer varsayılan davranışı, köşeli karakter sayısını karşılamak için çizilen metnin sınırlayıcı dikdörtgenine doldurma eklemektir. Bu fazladan boşluklar olmadan bir metin satırı çizmeniz gerekiyorsa ve MeasureText(IDeviceContext, String, Font)TextFormatFlags ve parametrelerini alan Size sürümlerini DrawText(IDeviceContext, String, Font, Point, Color) kullanmanız gerekir. Örnek için bkz. MeasureText(IDeviceContext, String, Font, Size, TextFormatFlags)

Örnekler

Aşağıdaki kod örneğinde yönteminin nasıl kullanılacağı gösterilmektedir MeasureText . Bu örneği çalıştırmak için, kodu bir Windows Formuna yapıştırın ve olarak geçirerek ePaintEventArgsformun Paint olay işleyicisinden çağrısı MeasureText1 yapın.

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

Açıklamalar

yöntemi, MeasureText metnin tek bir satırda çizilmiş olmasını gerektirir.

Şunlara uygulanır

MeasureText(ReadOnlySpan<Char>, Font)

Belirtilen yazı tipiyle çizildiğinde belirtilen metnin boyutunu piksel cinsinden sağlar.

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

Parametreler

text
ReadOnlySpan<Char>

Ölçülecek metin.

font
Font

Font Ölçülen metne uygulanacak.

Döndürülenler

SizeBelirtilen yazı tipiyle tek bir satırda çizilen metnin piksel cinsinden değeri. Parametre alan TextFormatFlags aşırı yüklemelerden birini DrawText(IDeviceContext, ReadOnlySpan<Char>, Font, Rectangle, Color, TextFormatFlags) kullanarak metnin nasıl çizildiğini değiştirebilirsiniz. Örneğin, öğesinin TextRenderer varsayılan davranışı, köşeli karakter sayısını karşılamak için çizilen metnin sınırlayıcı dikdörtgenine doldurma eklemektir. Bu fazladan boşluklar olmadan bir metin satırı çizmeniz gerekiyorsa, ve sürümlerini kullanmanız gerekir. MeasureText(IDeviceContext, ReadOnlySpan<Char>, Font) Bu, DrawText(IDeviceContext, ReadOnlySpan<Char>, Font, Point, Color) Boyut ve TextFormatFlags parametre alır. Örnek için bkz. MeasureText(IDeviceContext, String, Font, Size, TextFormatFlags)

Şunlara uygulanır

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

Belirtilen boyutu kullanarak belirtilen metin için ilk sınırlayıcı dikdörtgeni oluşturmak üzere belirtilen cihaz bağlamı, yazı tipi ve biçimlendirme yönergeleriyle çizildiğinde belirtilen metnin boyutunu piksel cinsinden sağlar.

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

Parametreler

dc
IDeviceContext

Metnin ölçüldiği cihaz bağlamı.

text
ReadOnlySpan<Char>

Ölçülecek metin.

font
Font

Font Ölçülen metne uygulanacak.

proposedSize
Size

Size İlk sınırlayıcı dikdörtgenin değeri.

flags
TextFormatFlags

Ölçülen metne uygulanacak biçimlendirme yönergeleri.

Döndürülenler

Sizebelirtilen font ve biçimiyle çizilmiş piksel cinsinden text değeri.

Özel durumlar

dc, null değeridir.

Şunlara uygulanır

MeasureText(ReadOnlySpan<Char>, Font, Size)

Belirtilen yazı tipiyle çizildiğinde belirtilen metnin boyutunu piksel cinsinden sağlar ve belirtilen boyutu kullanarak ilk sınırlayıcı dikdörtgeni oluşturur.

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

Parametreler

text
ReadOnlySpan<Char>

Ölçülecek metin.

font
Font

Font Ölçülen metne uygulanacak.

proposedSize
Size

Size İlk sınırlayıcı dikdörtgenin değeri.

Döndürülenler

Sizebelirtilen fontile çizilmiş piksel cinsinden text değeri.

Şunlara uygulanır

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

Belirtilen boyutu kullanarak belirtilen metin için ilk sınırlayıcı dikdörtgeni oluşturmak üzere belirtilen cihaz bağlamı, yazı tipi ve biçimlendirme yönergeleriyle çizildiğinde belirtilen metnin boyutunu piksel cinsinden sağlar.

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

Parametreler

dc
IDeviceContext

Metnin ölçüldiği cihaz bağlamı.

text
String

Ölçülecek metin.

font
Font

Font Ölçülen metne uygulanacak.

proposedSize
Size

Size İlk sınırlayıcı dikdörtgenin değeri.

flags
TextFormatFlags

Ölçülen metne uygulanacak biçimlendirme yönergeleri.

Döndürülenler

Sizebelirtilen font ve biçimiyle çizilmiş piksel cinsinden text değeri.

Özel durumlar

dc, null değeridir.

Örnekler

Aşağıdaki örnekte, farklı yazı tipi stillerinde tek bir metin satırı çizmek için ve DrawText yöntemlerinin nasıl kullanılacağı MeasureText gösterilmektedir. Bu örneği çalıştırmak için aşağıdaki kodu bir Windows Formuna yapıştırın ve formun olay işleyicisinden çağrısı DrawALineOfText yapın ve olarak geçirin ePaintEventArgs.Paint

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

Açıklamalar

yöntemi, MeasureText metin boyutunu belirlerken yükseklik ile genişlik ilişkisini belirtmek için ve flags parametrelerini kullanırproposedSize. Tek bir satırdaki metin ölçülürken, parametre yükseklik boyutu değerinden proposedSizeInt32.MaxValuebüyük olan bir Size değerini temsil ederse, döndürülen Size değer metnin gerçek yüksekliğini yansıtacak şekilde ayarlanır.

Parametre alan TextFormatFlags aşırı yüklemelerden birini DrawText kullanarak metnin nasıl çizildiğini değiştirebilirsiniz. Örneğin, öğesinin TextRenderer varsayılan davranışı, köşeli karakter sayısını karşılamak için çizilen metnin sınırlayıcı dikdörtgenine doldurma eklemektir. Bu fazladan boşluklar olmadan bir metin satırı çizmeniz gerekiyorsa, örnekte gösterildiği gibi ve parametresini alan Size ve MeasureTextTextFormatFlags sürümlerini DrawText kullanın.

Şunlara uygulanır