Поделиться через


Практическое руководство. Отображение прямоугольника вокруг текста

Обновлен: Ноябрь 2007

В следующем примере вокруг строки текста рисуется прямоугольник.

Пример

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

Компиляция кода

Для этого примера требуются ссылки на следующие пространства имен:

См. также

Основные понятия

Разделы руководства по платформе .NET Compact Framework

Другие ресурсы

Графика и рисование в .NET Compact Framework