TextRenderer.MeasureText Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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.
- 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 e
PaintEventArgsformun 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
MeasureText
proposedSize
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 proposedSize
Int32.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.
- 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
ModifyString ayarlanır.
Ş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
Metnin ölçüldiği cihaz bağlamı.
- text
- String
Ölçülecek metin.
Döndürülenler
Sizebelirtilen font
ile ç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 e
PaintEventArgsformun 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 proposedSize
Int32.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
Metnin ölçüldiği cihaz bağlamı.
- text
- ReadOnlySpan<Char>
Ölçülecek metin.
Döndürülenler
Sizebelirtilen font
ile ç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.
Döndürülenler
Sizebelirtilen font
ile ç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 e
PaintEventArgsformun 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 proposedSize
Int32.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
Metnin ölçüldiği cihaz bağlamı.
- text
- ReadOnlySpan<Char>
Ölçülecek metin.
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
Metnin ölçüldiği cihaz bağlamı.
- text
- String
Ölçülecek metin.
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 e
PaintEventArgsformun 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.
Döndürülenler
Sizebelirtilen font
ile 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 e
PaintEventArgsformun 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.
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
Metnin ölçüldiği cihaz bağlamı.
- text
- ReadOnlySpan<Char>
Ölçülecek metin.
- 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.
ModifyString ayarlanır.
Ş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.
Döndürülenler
Sizebelirtilen font
ile ç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
Metnin ölçüldiği cihaz bağlamı.
- text
- String
Ölçülecek metin.
- 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 e
PaintEventArgs.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 proposedSize
Int32.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.