Планирование уроков на учебный год (по учебнику Н.Д. Угриновича, профильный уровень)



Уроки 121 -122
§4.14. Модульный принцип построения решений (групп) и проектов






Содержание урока

Решения (группы) и проекты

Программные модули форм

Программные модули

Область видимости процедур

Файлы ресурсов

Компиляция проекта в приложение

Проект «Домики»

Контрольные вопросы. Компьютерный практикум


Проект «Домики»


Создать проект, состоящий из двух форм и двух программных модулей. На каждую из двух форм должны выводиться рисунки трех домиков путем вызова процедур рисования домиков. Первая процедура рисования домика должна находиться в программном коде первой формы, а вторая процедура — в самостоятельном втором программном модуле. Открытие форм обеспечить из первого самостоятельного программного модуля.

Добавление в проект второй формы и двух программных модулей на языке Visual Basic .NET

1. Ввести команду [Проект-Добавить форму Windows...].

В появившемся диалоговом окне (рис. 4.46) выбрать шаблон Форма Windows Form и щелкнуть по кнопке Открыть.

Рис. 4.46. Добавление элемента в проект

2. Дважды ввести команду [Проект-Добавить модуль...]. В появившемся диалоговом окне выбрать шаблон Модуль и щелкнуть по кнопке Открыть.

3. В окне Обозреватель решений (рис. 4.47) ознакомиться с файлами и ссылками, которые входят в состав решения и проекта Domiki:

• программные модули форм Form1.vb и Form2.vb;
• самостоятельные программные модули Module1.vb и Module2.vb;
• приложение Domiki.exe;
• база данных отладочной информации Domiki.pdb;
• ресурсы форм Form1.resx и Form2.resx;
• сборка AssemblyInfo.vb;
• ссылки на пространства имен, используемые в проекте.

Рис. 4.47. Состав решения Domiki

По умолчанию выполнение проекта начинается с загрузки первой формы, но можно начать выполнение проекта с любой формы. В Visual Studio можно начать выполнение проекта и с самостоятельного программного модуля, если в него поместить процедуру (метод) Main ().

В проект входят четыре программных модуля (два программных модуля форм и два самостоятельных программных модуля), поэтому необходимо выбрать модуль, с которого начинается выполнение проекта.

4. В окне Обозреватель решений выделить имя проекта Domiki и в контекстном меню выбрать пункт Свойства.

В появившемся диалоговом окне (рис. 4.48) из раскрывающегося списка Начальный объект: выбрать Sub Main и щелкнуть по кнопке ОК.

Рис. 4.48. Выбор начального модуля выполнения проекта

Создание графического интерфейса проекта на языках Visual Basic .NET, Visual С#, Visual J# и Turbo Delphi

5. Поместить на первую форму (рис. 4.49):

• графическое поле PictureBox1 (Image1 в Turbo Delphi), которое будет использоваться в качестве области рисования (холста) для рисования домиков;
• кнопки Button1 и Button2 для создания обработчиков событий.

6. Поместить на вторую форму (см. рис 4.49):

• графическое поле PictureBox2 (Image2 в Turbo Delphi), которое будет использоваться в качестве области рисования (холста) для рисования домиков;
• кнопки Button1 и Button2 для создания обработчиков событий.

7. Установить размеры графических полей PictureBox1 (Image1) и PictureBox2 (Image2): присвоить свойствам Width и Height значение 200.

В первом программном модуле объявим глобальные переменные, в которых будут храниться координаты, ширина и высота, а также две области рисования и два пера для рисования домиков на первой и второй формах.

Создадим процедуру Main (), в которой объявим две переменные для идентификации форм, а затем обеспечим их вызов с использованием метода ShowDialog ().

Создание программного кода проекта на языке Visual Basic .NET

8.


Module Module1
Public X, Y, W, H As Single
Public Graph1, Graph2 As Graphics
Public Pen1 As New Pen (Color.Red, 1)
Public Pen2 As New Pen (Color. Blue, 1)

Sub Main()
Dim F1 As New Form1
Dim F2 As New Form2
F1.ShowDialog()
F2.ShowDialog()
End Sub
End Module

Создадим программный модуль первой формы. В процедуре описывается рисование домика из прямоугольника (стена) и двух линий (крыша), а в обработчике события она вызывается три раза с разными наборами параметров.

Для перехода на вторую форму закроем первую форму. Осуществится переход на первый самостоятельный программный модуль, в котором будет выполнена строка программного кода, открывающая вторую форму.

9.


'Первая процедура рисования домика
Sub Domikl (ByVal X, ByVal Y, ByVal W, ByVal H)
Graph1.DrawRectangle(Pen1, X, Y, W, H)
Graph1.DrawLine (Pen1, X, Y + H, X + W\2, Y + H + H \ 2)
Graph1.DrawLine (Pen1, X+W\2, Y+H+H\2, X + W, Y + H)
End Sub

'Обработчик события, в котором рисуются три домика
Private Sub Button1_Click(ByVal sender As System. Object, ByVal e As System.EventArgs) Handles Button1.Click
Graph1 = Me.PictureBox1.CreateGraphics()
Graph1.ScaleTransform(1, -1)
Graph1.TranslateTransform(0, -200)
Call Domiki (10, 20, 60, 50)
Call Domiki (120, 20, 50, 70)
Call Domiki (30, 110, 90, 50)
End Sub

'Обработчик события, в котором закрывается
'первая форма
Private Sub Button2_Click(ByVal sender As System. Object, ByVal e As System.EventArgs) Handles Button2.Click Me.Close()
End Sub

Во втором самостоятельном программном модуле создадим вторую процедуру рисования домика из прямоугольника (стена) и двух линий (крыша).

10.


'Вторая процедура рисования домика
Module Module2
Sub Domik2(ByVal X, ByVal Y, ByVal W, ByVal H)
Graph2.DrawRectangle (Pen2, X, Y, W, H)
Graph2.DrawLine (Pen2, X, Y + H, X + W \2, Y + H + H \ 2)
Graph2.DrawLine (Pen2, X + W \ 2, Y + H + H \ 2, X + W, Y + H)
End Sub
End Module

Создадим программный модуль второй формы. В обработчике события вторая процедура рисования домика, которая находится во втором самостоятельном программном модуле, вызывается три раза с разными наборами параметров.

11.


'Обработчик события, в котором рисуются три домика
Private Sub Button1_Click(ByVal sender As System. Object, ByVal e As System.EventArgs) Handles Button1.Click
Graph2 = Me.PictureBox2.CreateGraphics()
Graph2.ScaleTransform(1, -1)
Graph2.TranslateTransform(0, -200)
Call Module2 .Domik2 (10, 20, 100, 80)
Call Module2. Domik2 (120, 20, 50, 50)
Call Module2 .Domik2 (80, 130, 80, 40)
End Sub

'Обработчик события, в котором осуществляется
'выход из проекта
Private Sub Button2_Click(ByVal sender As System. Object, ByVal e As System.EventArgs) Handles Button2.Click
End
End Sub

Запуск проекта на языках Visual Basic .NET, Visual C#, Visual J# и Turbo Delphi

12. Запустить проект (см. рис. 4.49).

На появившейся первой форме щелкнуть по кнопке Нарисовать домики, в области рисования будут нарисованы три разных домика.

Щелкнуть по кнопке Закрыть форму, на появившейся второй форме щелкнуть по кнопке Нарисовать домики, в области рисования будут нарисованы три других разных домика.

Щелкнуть по кнопке Закрыть проект.

Рис. 4.49. Проект «Домики»



Следующая страница Контрольные вопросы. Компьютерный практикум



Cкачать материалы урока







Наверх