Иллюстрированный самоучитель по Visual Basic .NET

Простейший вывод

Рассмотрим очень простой пример графического вывода. Следующая программа выводит растровый файл sample.bmp (находящийся в каталоге \bin решения) в левом верхнем углу формы:

Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs)
MyBase.OnPaint(e)
Dim g As Graphics
g = e.Graphics()
g.Draw!mage(New Bitmap("sample.bmp"). 0. 0)
g.Dispose()
End Sub

Обратите внимание на вызов Dispose в строке, выделенной жирным шрифтом. Поскольку сборщик мусора не освобождает графические контексты, привыкайте делать это самостоятельно в конце процедуры Paint.

Напоминаем: если объект поддерживает метод Dispose, этот метод следует вызвать по завершении работы с объектом.

Следующий этап – рисование линий, прямоугольников и других фигур. Перед операциями такого рода следует получить объект пера, который является экземпляром класса System.Drawing.Pen. Самый распространенный конструктор класса Реп имеет следующий синтаксис:

Public Sub New(Color.Single)

Первый параметр определяет цвет пера (и входит в перечисляемый тип System.DrawingColor), а второй определяет толщину пера (другие конструкторы также позволяют задать кисть для заполнения внутренней части объекта). Например, чтобы нарисовать прямоугольник, вы определяете его размеры и вызываете g.DrawRectangle. Результат выполнения следующей программы показан на рис. 8.22:

Protected Overrides Sub OnPaint(ByVa1 e As PaintEventArgs)
MyBase.OnPaint(e)
Dim g As Graphics
g = e.Graphics()
Dim myPen As New PerKColor,Purple. 6)
Dim aRectangle As New Rectangle(Me.ClientRectangle.Width \4,_
Me.ClientRectangle.Height \ 4.. Me.ClientRectangle.Height \2,_
Me.ClientRectangle.Width \ 2))
g.DrawRectangle(myPen,aRectangle)
g.Dispose()
End Sub

Иллюстрированный самоучитель по Visual Basic .NET › Формы Windows, графический вывод и печать › Простейший вывод
Рис. 8.22. Результат вызова DrawRectangle: прямоугольник в рамке толщиной 6 пикселов

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.