Пример 2. Параметр типа Graphics.
Пример 2. Параметр типа Graphics. Вам уже предлагалось в Задание 78 написать процедуру пользователя для рисования крестика. У той процедуры были привычные нам параметры: координаты и размер крестика. Сейчас же нам интересен другой параметр. Мы хотим посредством него управлять тем, на поверхности какого элемента управления (или на форме) рисовать крестик. Создайте проект и поместите на форму метку и кнопку. Чтобы не отвлекаться, забудем о параметрах для координат и размера крестика. Введите такой код:
Dim Графика_для_формы As Graphics
Dim Графика_для_метки As Graphics
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Графика_для_формы = Me.CreateGraphics
Графика_для_метки = Label1.CreateGraphics
Рисуем_крестик(Графика_для_формы)
Рисуем_крестик(Графика_для_метки)
End Sub
Sub Рисуем_крестик(ByVal Гр As Graphics)
Гр.DrawLine(Pens.Blue, 100, 110, 120, 110)
Гр.DrawLine(Pens.Blue, 110, 100, 110, 120)
End Sub
Пояснения. Крестики рисуются на форме и на метке. Как видите, здесь параметром процедуры пользователя является объект класса Graphics. Без этого параметра мы не смогли бы пользоваться процедурой Рисуем_крестик для рисования крестика на разных элементах управления. Получилось бы только на одном.
Пример 3. Функция объектного типа. Создайте проект с кнопкой, меткой и текстовым полем. Пусть нам наскучило обращаться к элементам управления, как положено, по именам, а «желаем» по номерам. Пронумеруем их в уме как-нибудь, например, кнопка – 1, метка – 2, текстовое поле – 3. Пусть возникла задача напечатать, на сколько кнопка превосходит по вертикальному размеру текстовое поле. В соответствии с нашим желанием нам не хочется писать так:
Debug.WriteLine(Button1.Height - TextBox1.Height)
а хочется писать что-нибудь вроде этого:
Debug.WriteLine(Элемент(1).Height - Элемент(3).Height)
Можем ли мы так сделать? Можем. Достаточно написать функцию:
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий