TextRenderer.MeasureText Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mengukur teks yang ditentukan ketika digambar dengan font yang ditentukan.
Overload
MeasureText(String, Font, Size, TextFormatFlags) |
Menyediakan ukuran, dalam piksel, dari teks yang ditentukan saat digambar dengan instruksi font dan pemformatan yang ditentukan, menggunakan ukuran yang ditentukan untuk membuat persegi panjang pembatas awal untuk teks. |
MeasureText(ReadOnlySpan<Char>, Font, Size, TextFormatFlags) |
Menyediakan ukuran, dalam piksel, dari teks yang ditentukan saat digambar dengan instruksi font dan pemformatan yang ditentukan, menggunakan ukuran yang ditentukan untuk membuat persegi panjang pembatas awal untuk teks. |
MeasureText(IDeviceContext, String, Font, Size) |
Menyediakan ukuran, dalam piksel, dari teks yang ditentukan saat digambar dengan font yang ditentukan dalam konteks perangkat yang ditentukan, menggunakan ukuran yang ditentukan untuk membuat persegi panjang pembatas awal untuk teks. |
MeasureText(IDeviceContext, ReadOnlySpan<Char>, Font, Size) |
Menyediakan ukuran, dalam piksel, dari teks yang ditentukan saat digambar dengan font yang ditentukan dalam konteks perangkat yang ditentukan, menggunakan ukuran yang ditentukan untuk membuat persegi panjang pembatas awal untuk teks. |
MeasureText(String, Font, Size) |
Menyediakan ukuran, dalam piksel, dari teks yang ditentukan saat digambar dengan font yang ditentukan, menggunakan ukuran yang ditentukan untuk membuat persegi panjang pembatas awal. |
MeasureText(IDeviceContext, ReadOnlySpan<Char>, Font) |
Menyediakan ukuran, dalam piksel, dari teks yang ditentukan yang digambar dengan font yang ditentukan dalam konteks perangkat yang ditentukan. |
MeasureText(IDeviceContext, String, Font) |
Menyediakan ukuran, dalam piksel, dari teks yang ditentukan yang digambar dengan font yang ditentukan dalam konteks perangkat yang ditentukan. |
MeasureText(String, Font) |
Menyediakan ukuran, dalam piksel, dari teks yang ditentukan saat digambar dengan font yang ditentukan. |
MeasureText(ReadOnlySpan<Char>, Font) |
Menyediakan ukuran, dalam piksel, dari teks yang ditentukan saat digambar dengan font yang ditentukan. |
MeasureText(IDeviceContext, ReadOnlySpan<Char>, Font, Size, TextFormatFlags) |
Menyediakan ukuran, dalam piksel, dari teks yang ditentukan saat digambar dengan konteks perangkat, font, dan instruksi pemformatan yang ditentukan, menggunakan ukuran yang ditentukan untuk membuat persegi panjang pembatas awal untuk teks. |
MeasureText(ReadOnlySpan<Char>, Font, Size) |
Menyediakan ukuran, dalam piksel, dari teks yang ditentukan saat digambar dengan font yang ditentukan, menggunakan ukuran yang ditentukan untuk membuat persegi panjang pembatas awal. |
MeasureText(IDeviceContext, String, Font, Size, TextFormatFlags) |
Menyediakan ukuran, dalam piksel, dari teks yang ditentukan saat digambar dengan konteks perangkat, font, dan instruksi pemformatan yang ditentukan, menggunakan ukuran yang ditentukan untuk membuat persegi panjang pembatas awal untuk teks. |
MeasureText(String, Font, Size, TextFormatFlags)
Menyediakan ukuran, dalam piksel, dari teks yang ditentukan saat digambar dengan instruksi font dan pemformatan yang ditentukan, menggunakan ukuran yang ditentukan untuk membuat persegi panjang pembatas awal untuk teks.
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
Parameter
- text
- String
Teks yang akan diukur.
- flags
- TextFormatFlags
Instruksi pemformatan untuk diterapkan ke teks yang diukur.
Mengembalikan
Size, dalam piksel, digambar text
dengan format dan yang ditentukanfont
.
Contoh
Contoh kode berikut menunjukkan cara menggunakan salah MeasureText satu metode. Untuk menjalankan contoh ini, tempelkan kode ke dalam Formulir Windows dan panggil DrawALineOfText
dari penanganan aktivitas formulir Paint , meneruskan e
sebagai 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
Keterangan
MeasureText
proposedSize
menggunakan parameter dan flags
untuk menunjukkan hubungan tinggi ke lebar saat menentukan ukuran teks. Saat mengukur teks pada satu baris, jika proposedSize
parameter mewakili Size dengan dimensi tinggi yang lebih besar dari Int32.MaxValue, yang dikembalikan Size akan disesuaikan untuk mencerminkan tinggi teks yang sebenarnya.
Anda dapat memanipulasi bagaimana teks digambar dengan menggunakan salah DrawText satu kelebihan beban yang mengambil TextFormatFlags parameter. Misalnya, perilaku default adalah TextRenderer menambahkan padding ke persegi panjang pembatas teks yang digambar untuk mengakomodasi glyph yang membantai. Jika Anda perlu menggambar baris teks tanpa spasi tambahan ini, Anda harus menggunakan versi DrawText dan yang mengambil Size parameter dan TextFormatFlagsMeasureText . Misalnya, lihat MeasureText(IDeviceContext, String, Font, Size, TextFormatFlags).
Catatan
Kelebihan beban MeasureText(String, Font, Size, TextFormatFlags) ini akan mengabaikan TextFormatFlags nilai NoPadding atau LeftAndRightPadding. Jika Anda menentukan nilai padding selain default, Anda harus menggunakan kelebihan beban MeasureText(IDeviceContext, String, Font, Size, TextFormatFlags) yang mengambil IDeviceContext objek.
Berlaku untuk
MeasureText(ReadOnlySpan<Char>, Font, Size, TextFormatFlags)
Menyediakan ukuran, dalam piksel, dari teks yang ditentukan saat digambar dengan instruksi font dan pemformatan yang ditentukan, menggunakan ukuran yang ditentukan untuk membuat persegi panjang pembatas awal untuk teks.
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
Parameter
- text
- ReadOnlySpan<Char>
Teks yang akan diukur.
- flags
- TextFormatFlags
Instruksi pemformatan untuk diterapkan ke teks yang diukur.
Mengembalikan
Size, dalam piksel, digambar text
dengan format dan yang ditentukanfont
.
Pengecualian
Berlaku untuk
MeasureText(IDeviceContext, String, Font, Size)
Menyediakan ukuran, dalam piksel, dari teks yang ditentukan saat digambar dengan font yang ditentukan dalam konteks perangkat yang ditentukan, menggunakan ukuran yang ditentukan untuk membuat persegi panjang pembatas awal untuk teks.
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
Parameter
Konteks perangkat untuk mengukur teks.
- text
- String
Teks yang akan diukur.
Mengembalikan
Size, dalam piksel, digambar text
dengan yang ditentukan font
.
Pengecualian
dc
adalah null
.
Contoh
Contoh kode berikut menunjukkan cara menggunakan salah MeasureText satu metode. Untuk menjalankan contoh ini, tempelkan kode ke dalam Formulir Windows dan panggil DrawALineOfText
dari penanganan aktivitas formulir Paint , meneruskan e
sebagai 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
Keterangan
Metode ini MeasureText menggunakan proposedSize
parameter untuk menunjukkan hubungan tinggi ke lebar saat menentukan ukuran teks. Saat mengukur teks pada satu baris, jika proposedSize
parameter mewakili Size dengan dimensi tinggi yang lebih besar dari Int32.MaxValue, yang dikembalikan Size akan disesuaikan untuk mencerminkan tinggi teks yang sebenarnya.
Berlaku untuk
MeasureText(IDeviceContext, ReadOnlySpan<Char>, Font, Size)
Menyediakan ukuran, dalam piksel, dari teks yang ditentukan saat digambar dengan font yang ditentukan dalam konteks perangkat yang ditentukan, menggunakan ukuran yang ditentukan untuk membuat persegi panjang pembatas awal untuk teks.
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
Parameter
Konteks perangkat untuk mengukur teks.
- text
- ReadOnlySpan<Char>
Teks yang akan diukur.
Mengembalikan
Size, dalam piksel, digambar text
dengan yang ditentukan font
.
Pengecualian
dc
adalah null
.
Berlaku untuk
MeasureText(String, Font, Size)
Menyediakan ukuran, dalam piksel, dari teks yang ditentukan saat digambar dengan font yang ditentukan, menggunakan ukuran yang ditentukan untuk membuat persegi panjang pembatas awal.
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
Parameter
- text
- String
Teks yang akan diukur.
Mengembalikan
Size, dalam piksel, digambar text
dengan yang ditentukan font
.
Contoh
Contoh kode berikut menunjukkan cara menggunakan salah MeasureText satu metode. Untuk menjalankan contoh ini, tempelkan kode ke dalam Formulir Windows dan panggil DrawALineOfText
dari penanganan aktivitas formulir Paint , meneruskan e
sebagai 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
Keterangan
Metode ini MeasureText menggunakan proposedSize
parameter untuk menunjukkan hubungan tinggi ke lebar saat menentukan ukuran teks. Saat mengukur teks pada satu baris, jika proposedSize
parameter mewakili Size dengan dimensi tinggi yang lebih besar dari Int32.MaxValue, yang dikembalikan Size akan disesuaikan untuk mencerminkan tinggi teks yang sebenarnya.
Berlaku untuk
MeasureText(IDeviceContext, ReadOnlySpan<Char>, Font)
Menyediakan ukuran, dalam piksel, dari teks yang ditentukan yang digambar dengan font yang ditentukan dalam konteks perangkat yang ditentukan.
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
Parameter
Konteks perangkat untuk mengukur teks.
- text
- ReadOnlySpan<Char>
Teks yang akan diukur.
Mengembalikan
Size, dalam piksel, digambar text
dengan yang ditentukan font
dalam konteks perangkat yang ditentukan.
Pengecualian
dc
adalah null
.
Berlaku untuk
MeasureText(IDeviceContext, String, Font)
Menyediakan ukuran, dalam piksel, dari teks yang ditentukan yang digambar dengan font yang ditentukan dalam konteks perangkat yang ditentukan.
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
Parameter
Konteks perangkat untuk mengukur teks.
- text
- String
Teks yang akan diukur.
Mengembalikan
Size, dalam piksel, digambar text
dalam satu baris dengan yang ditentukan font
dalam konteks perangkat yang ditentukan.
Contoh
Contoh kode berikut menunjukkan cara menggunakan salah MeasureText satu metode. Untuk menjalankan contoh ini, tempelkan kode ke dalam Formulir Windows dan panggil DrawALineOfText
dari penanganan aktivitas formulir Paint , meneruskan e
sebagai 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
Keterangan
Metode MeasureText ini mengharuskan teks digambar pada satu baris.
Berlaku untuk
MeasureText(String, Font)
Menyediakan ukuran, dalam piksel, dari teks yang ditentukan saat digambar dengan font yang ditentukan.
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
Parameter
- text
- String
Teks yang akan diukur.
Mengembalikan
Size, dalam piksel, digambar text
pada satu baris dengan yang ditentukan font
. Anda dapat memanipulasi bagaimana teks digambar dengan menggunakan salah DrawText(IDeviceContext, String, Font, Rectangle, Color, TextFormatFlags) satu kelebihan beban yang mengambil TextFormatFlags parameter. Misalnya, perilaku default adalah TextRenderer menambahkan padding ke persegi panjang pembatas teks yang digambar untuk mengakomodasi glyph yang membantai. Jika Anda perlu menggambar baris teks tanpa spasi tambahan ini, Anda harus menggunakan versi DrawText(IDeviceContext, String, Font, Point, Color) dan yang mengambil Size parameter dan TextFormatFlagsMeasureText(IDeviceContext, String, Font) . Misalnya, lihat MeasureText(IDeviceContext, String, Font, Size, TextFormatFlags).
Contoh
Contoh kode berikut menunjukkan cara menggunakan MeasureText metode . Untuk menjalankan contoh ini, tempelkan kode ke dalam Formulir Windows dan panggil MeasureText1
dari penanganan aktivitas formulir Paint , meneruskan e
sebagai 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
Keterangan
Metode MeasureText ini mengharuskan teks digambar pada satu baris.
Berlaku untuk
MeasureText(ReadOnlySpan<Char>, Font)
Menyediakan ukuran, dalam piksel, dari teks yang ditentukan saat digambar dengan font yang ditentukan.
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
Parameter
- text
- ReadOnlySpan<Char>
Teks yang akan diukur.
Mengembalikan
, Sizedalam piksel, teks yang digambar pada satu baris dengan font yang ditentukan. Anda dapat memanipulasi bagaimana teks digambar dengan menggunakan salah DrawText(IDeviceContext, ReadOnlySpan<Char>, Font, Rectangle, Color, TextFormatFlags) satu kelebihan beban yang mengambil TextFormatFlags parameter. Misalnya, perilaku default adalah TextRenderer menambahkan padding ke persegi panjang pembatas teks yang digambar untuk mengakomodasi glyph yang membantai. Jika Anda perlu menggambar baris teks tanpa spasi tambahan ini, Anda harus menggunakan versi DrawText(IDeviceContext, ReadOnlySpan<Char>, Font, Point, Color) dan MeasureText(IDeviceContext, ReadOnlySpan<Char>, Font) yang mengambil Ukuran dan TextFormatFlags parameter. Misalnya, lihat MeasureText(IDeviceContext, String, Font, Size, TextFormatFlags).
Berlaku untuk
MeasureText(IDeviceContext, ReadOnlySpan<Char>, Font, Size, TextFormatFlags)
Menyediakan ukuran, dalam piksel, dari teks yang ditentukan saat digambar dengan konteks perangkat, font, dan instruksi pemformatan yang ditentukan, menggunakan ukuran yang ditentukan untuk membuat persegi panjang pembatas awal untuk teks.
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
Parameter
Konteks perangkat untuk mengukur teks.
- text
- ReadOnlySpan<Char>
Teks yang akan diukur.
- flags
- TextFormatFlags
Instruksi pemformatan untuk diterapkan ke teks yang diukur.
Mengembalikan
Size, dalam piksel, digambar text
dengan format dan yang ditentukanfont
.
Pengecualian
dc
adalah null
.
Berlaku untuk
MeasureText(ReadOnlySpan<Char>, Font, Size)
Menyediakan ukuran, dalam piksel, dari teks yang ditentukan saat digambar dengan font yang ditentukan, menggunakan ukuran yang ditentukan untuk membuat persegi panjang pembatas awal.
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
Parameter
- text
- ReadOnlySpan<Char>
Teks yang akan diukur.
Mengembalikan
Size, dalam piksel, digambar text
dengan yang ditentukan font
.
Berlaku untuk
MeasureText(IDeviceContext, String, Font, Size, TextFormatFlags)
Menyediakan ukuran, dalam piksel, dari teks yang ditentukan saat digambar dengan konteks perangkat, font, dan instruksi pemformatan yang ditentukan, menggunakan ukuran yang ditentukan untuk membuat persegi panjang pembatas awal untuk teks.
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
Parameter
Konteks perangkat untuk mengukur teks.
- text
- String
Teks yang akan diukur.
- flags
- TextFormatFlags
Instruksi pemformatan untuk diterapkan ke teks yang diukur.
Mengembalikan
Size, dalam piksel, digambar text
dengan format dan yang ditentukanfont
.
Pengecualian
dc
adalah null
.
Contoh
Contoh berikut menunjukkan cara menggunakan MeasureText metode dan DrawText untuk menggambar satu baris teks dalam gaya font yang berbeda. Untuk menjalankan contoh ini, tempelkan kode berikut dalam Formulir Windows dan panggil DrawALineOfText
dari penanganan aktivitas formulir Paint , teruskan e
sebagai 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
Keterangan
Metode ini MeasureText menggunakan proposedSize
parameter dan flags
untuk menunjukkan hubungan tinggi ke lebar saat menentukan ukuran teks. Saat mengukur teks pada satu baris, jika proposedSize
parameter mewakili Size dengan dimensi tinggi yang lebih besar dari Int32.MaxValue, yang dikembalikan Size akan disesuaikan untuk mencerminkan tinggi teks yang sebenarnya.
Anda dapat memanipulasi bagaimana teks digambar dengan menggunakan salah DrawText satu kelebihan beban yang mengambil TextFormatFlags parameter. Misalnya, perilaku default adalah TextRenderer menambahkan padding ke persegi panjang pembatas teks yang digambar untuk mengakomodasi glyph yang membantai. Jika Anda perlu menggambar baris teks tanpa spasi tambahan ini, gunakan versi DrawText dan MeasureText yang mengambil Size parameter dan TextFormatFlags , seperti yang ditunjukkan dalam contoh.