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

Other Resources

Graphics and Drawing in the .NET Compact Framework