Como: Exibir uma caixa ao redor do texto

O seguinte exemplo de programa desenha um retângulo ao redor de uma sequência de texto.

Exemplo

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);
}

Compilando o código

Este exemplo requer referências aos seguintes namespaces:

Consulte também

Conceitos

Tópicos "como" do .NET compact estrutura

Outros recursos

Elementos gráficos e desenho no .NET Compact estrutura