How to: Display a Box Around Text
The following example program draws a rectangle around a string of text.
Example
Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs)
Dim s As String = ".NET Compact Framework"
Dim pen As New Pen(Color.Red, 5)
Dim font As New Font("Arial", 10, FontStyle.Regular)
Dim brush As New SolidBrush(Color.Black)
Dim textSize As SizeF = e.Graphics.MeasureString(s, font)
' Create a rectangle with padding space between string and box.
Dim r As New Rectangle(45, 70, CInt(Fix(textSize.Width) + 10), _
CInt(Fix(textSize.Height) + 10))
e.Graphics.DrawRectangle(pen, r)
e.Graphics.DrawString(s, font, brush, 50F, 75F)
MyBase.OnPaint(e)
End Sub
protected override void OnPaint(PaintEventArgs e)
{
string s = ".NET Compact Framework";
Pen pen = new Pen(Color.Red, 5);
Font font = new Font("Arial", 10, FontStyle.Regular);
SolidBrush brush = new SolidBrush(Color.Black);
SizeF textSize = e.Graphics.MeasureString(s, font);
int newW = (int) textSize.Width + 10;
int newH = (int) textSize.Height + 10;
Rectangle r = new Rectangle(45, 70, newW, newH);
e.Graphics.DrawRectangle(pen, r);
e.Graphics.DrawString(s, font, brush, 50F, 75F);
base.OnPaint(e);
}
Compiling the Code
This example requires references to the following namespaces:
See Also
Concepts
.NET Compact Framework How-to Topics