- •Тема: «Форма и стандартные элементы управления»
- •1. Форма
- •1.1. Свойства формы
- •1.2. События формы
- •1.3. Методы формы
- •2. Элементы управления
- •2.1. Стандартные элементы управления
- •2.2. Установка свойств элемента управления
- •2.3. Общие свойства, события и методы элементов управления
- •2.4. Соглашения об именах
- •3. Окно редактора кода
- •3.1. Назначение и возможности окна редактора кода
- •3.2. Оформление программных кодов
- •4. Упражнения
- •5. Задания для самостоятельного выполнения
- •6. Контрольные вопросы
3.2. Оформление программных кодов
При написании программных кодов программисту необходимо позаботиться о том, чтобы программа была читабельной, то есть снабжена достаточным количеством комментариев, а операторы большой длины были размещены на нескольких строках. Рассмотрим приемы оформления программных кодов:
Для включения в текст программы комментария необходимо ввести символ ('), который может быть первым символом в строке или находиться в любом месте. Этот символ означает начало комментария; все символы, находящиеся за ним, Visual Basic не будет транслировать. Ниже приведен пример использования комментариев в тексте программы:
Dim a As Integer
' a – целая переменная
Dim b as String ' b – строковая переменная
В том случае, когда оператор имеет большую длину, его можно разбить на несколько строк, используя символы продолжения строки: пробел, за которым следует символ подчеркивания (_). В следующем примере первая из конструкций является разбиением второй на две строки:
MsgBox "Здравствуй, пользователь", vbExclamation, _
"Приветствие"
и
MsgBox "Здравствуй, пользователь", vbExclamation, "Приветствие"
Как правило, при написании программ операторы размещают на отдельной строке. Если операторы имеют небольшую длину и являются однотипными, Visual Basic позволяет их поместить на одной строке, разделив символом (:). Таким образом, следующие две конструкции эквивалентны:
x = x + 1
y = x + 2
и
x = x + 1: y = x + 2
4. Упражнения
Упражнение 1
Создадим программу, которая не имеет управляющих элементов. При щелчке кнопкой мыши в любом месте формы исходное положение и размер формы (заданные по умолчанию) изменяются, задается полужирный шрифт и его новый размер для вывода на форму текста. При нажатии любой клавиши изменяются исходное положение и размер формы, задается шрифт «курсив» и его новый размер, которым выводится на форму продолжение текста.
Реализация проекта
1. Создайте новый проект (File, New Project) или при открытии Visual Basic выберите шаблон проекта Standart EXE и щелкните по кнопке Открыть.
2. Выделите форму, щелкнув по ней левой кнопкой мыши на любом свободном месте формы. Задайте значения двух свойств формы Name и Caption:
Name: FrmSobitij;
Caption: Изучение событий.
3.
Выполните команду View,
Code
или щелкните на кнопке
View Code
на панели инструментов окна проводника
проекта
4. В окне редактора кода из списка Object выберите значение Form, а из списка Procedure выберите значение Click. Введите текст программы для процедуры обработки события Click объекта Form. Процедура меняет свойства Left и Тор, Height и Width формы, а также шрифт; выводит в заголовок формы новую надпись «Размер шрифта 18», а также печатает на форме текст «Это пример» (рис. 2.3).
Рис. 2.3. Окно редактора кода с процедурой Form_Click
П
римечание.
При вводе
команд в окне редактора кода, после того
как введено имя объекта и поставлена
точка, открывается список свойств и
методов объекта (рис. 2.4), который
можно использовать для ввода информации.
Для этого необходимо выбрать из списка
подходящее свойство (или метод), дважды
щелкнув кнопкой мыши, и оно будет
вставлено в процедуру.
Рис. 2.4. Visual Basic при вводе процедуры в окне редактора кода открывает список свойств и методов объекта
Примечание. Код из процедуры Form_Click, изменяющий положение и размеры формы:
FrmSobitij.Left = 300
FrmSobitij.Top = 200
FrmSobitij.Height = 7000
FrmSobitij.Width = 6000
можно заменить на следующий с использованием метода Move:
FrmSobitij.Move 300, 200, 6000, 7000
5. В окне редактора кода из списка Procedure выберите значение KeyPress. Введите текст программ для процедуры обработки события KeyPress объекта Form. Процедура также как и предыдущая меняет свойства формы. Процедура Form_KeyPress имеет один аргумент KeyAscii, который описан как целое число (Integer) и представляет код нажатой клавиши (рис. 2.5).
Рис. 2.5. Окно редактора кода с процедурой Form_KeyPress
6. Сохраните проект командой File, Save Project.
7. Выполните
команду Run,
Start
или щелкните на кнопке
Start
панели инструментов.
Вы увидите пустую форму. Щелкнув по ней
мышью, Вы генерируете событие Click
(процедура Form_Click),
которое изменяет положение, размеры
формы и выводит на нее текст. Нажав любую
клавишу, Вы генерируете событие
KeyPress
(процедура Form_KeyPress),
которое также изменяет положение,
размеры формы и свойства шрифта.
8. Завершите
работу программы. Для этого выберите
Run,
End
или щелкните
на кнопке
End
панели инструментов.
Упражнение 2
Создадим приложение, выравнивающее форму по центру экрана монитора.
Реализация проекта
1. Создайте новый проект. Измените свойство Name формы на frm1, а свойствам Left, Тор, Width и Height присвойте значения 1000, 3000, 4000, 3000.
2. Выравнивание формы по центру экрана монитора можно производить автоматически при запуске проекта. В этот момент производится загрузка формы и активируется событие Form_Load(). Напишем код этой событийной процедуры, который будет производить выравнивание.
Объект Screen (экран монитора) обладает свойствами Screen.Width (ширина экрана) и Screen.Height (высота экрана). Форма frm1 также обладает свойствами frm1.Width и frm1.Height. Форма будет размещаться в центре экрана, если:
Left (левая координата верхнего левого угла формы) будет равна:
(Screen.Width – frm1.Width)/2
Top (верхняя координата верхнего левого угла формы) будет равна:
(Screen.Height – frm1.Height)/2
Воспользуемся методом Move для перемещения формы в заданное координатами Left и Top место экрана монитора:
frm1.Move (Screen.Width – frm1.Width)/2, (Screen.Height - frm1.Height)/2
Таким образом, код событийной процедуры выравнивания формы по центру экрана монитора будет следующий:
Private Sub Form_Load()
frm1.Move (Screen.Width – frm1.Width) / 2, _
(Screen.Height – frm1.Height) / 2
End Sub
3. Двойным щелчком по форме вызовите окно редактора кода с пустой процедурой Form_Load(). Введите код процедуры выравнивания.
4. Сохраните и протестируйте проект.
Упражнение 3
Создадим приложение, состоящее из формы, на которой есть две кнопки «Больше» и «Меньше». Эта форма должна управлять видом обеих кнопок: при щелчке мышью на кнопках делать их больше или меньше соответственно.
Реализация проекта
1. Создайте новый проект и присвойте заголовку формы приложения надпись «Командные кнопки: больше, меньше».
2
. Поместите
на форму две кнопки: Command1,
Command2.
Измените их имена на cmdBig,
cmdLittle,
а текст поменяйте на «Больше»,
«Меньше»
соответственно. Ваша форма должна иметь
вид (рис. 2.6):
Рис. 2.6. Окно формы с кнопками «Больше» и «Меньше»
3. Очевидно, чтобы кнопка становилась больше (или меньше), необходимо менять ее координаты, отвечающие за какой-нибудь угол (а лучше за все углы сразу). Но для нас будет достаточно, чтобы увеличивались (или, соответственно, уменьшались) координаты правого нижнего угла, а они задаются свойствами Width, Height. Двойным щелчком по кнопке «Больше» вызовите окно редактора кода с пустой процедурой cmdBig_Click()и введите необходимый код:
4. Аналогичным образом создайте событийную процедуру для кнопки «Меньше»:
5. Сохраните и протестируйте проект.
Упражнение 4
Разработаем проект, в котором текст, набираемый пользователем в верхнем текстовом поле, повторяется в нижнем поле (рис. 2.7).
Рис. 2.7
Реализация проекта
1. Создайте новый проект.
2. Поместите на форму два текстовых поля (TextBox).
3. Установите следующие значения свойств объектов, оставив значения остальных свойств установленными по умолчанию:
-
Класс объектов
Обозначение объекта по умолчанию
Свойство
Значение
Form
Form1
Caption
Из одного поля ввода – в другое
TextBox
Text1
Name
Txt1
Text2
Name
Txt2
4. Оформите процедуру загрузки формы в виде:
Private Sub Form_Load()
Txt1.Text = ""
Txt2.Text = Txt1.Text
End Sub
5. Запустите программу. Почему при вводе текста в верхнее поле он в нижнем поле не повторяется?
6. Измените процедуру загрузки формы следующим образом:
Private Sub Form_Load()
Txt1.Text = ""
Txt2.Text = ""
End Sub
7. Для того чтобы текст, вводимый в верхнее поле, повторялся в нижнем поле, необходимо оформить процедуру обработки события Change, происходящего при изменении текста в поле. Дважды щелкните на верхнем поле ввода – появится окно кода с заголовком процедуры обработки события Change элемента Txt1 и ее завершающей конструкции. Укажите действие, которое должно происходить при изменении содержимого верхнего поля:
Private Sub Txt1_Change()
Txt2.Text = Txt1.Text
End Sub
8. Сохраните и протестируйте проект.
9. Что необходимо изменить в программе для того, чтобы пользователь во время выполнения программы не мог вводить значение в нижнее поле?
Упражнение 5
Создадим программу, которая может показывать и стирать приветствие на экране. Программа должна предоставлять пользователю возможность легкого выхода (завершения работы приложения).
Реализация проекта
1. Создайте новый проект.
2. Поместите на форму три кнопки (CommandButton) и одно текстовое поле (TextBox). Разместите каждый элемент в соответствующей позиции и измените нужным образом его размеры (рис. 2.8):
Рис. 2.8
3. Установите следующие значения свойств объектов:
-
Класс объектов
Обозначение объекта по умолчанию
Свойство
Значение
Form
Form1
Caption
Показать_Очистить
TextBox
Text1
Name
txtHello
Alignment
2 - Center
Font
Шрифт: Times New Roman
Начертание: обычный
Размер: 24
Text
CommandButton
Command1
Name
cmdShow
Caption
Показать
Command2
Name
cmdClear
Caption
Очистить
Command3
Name
cmdExit
Caption
Выход
4. В окне редактора кода введите следующие процедуры обработки событий для кнопок:
5. Сохраните и протестируйте проект.
Упражнение 6
Создадим программу «Светофор».
Реализация проекта
1. Создайте новый проект.
2. Поместите на форму пять фигур (Shape) и три кнопки (CommandButton). Разместите каждый элемент в соответствующей позиции и измените нужным образом его размеры (рис. 2.9):
Рис. 2.9
3. Установите следующие значения свойств объектов:
-
Класс объектов
Обозначение объекта по умолчанию
Свойство
Значение
Form
Form1
Caption
Светофор
Shape
Shape1
FillStyle
0 – Solid
FillColor
Цвет: серый
Shape2
FillStyle
0 – Solid
FillColor
Цвет: серый
Shape3
Name
shpCircle1
FillStyle
0 – Solid
Shape
3 - Circle
Shape4
Name
shpCircle2
FillStyle
0 – Solid
Shape
3 - Circle
Shape5
Name
shpCircle3
FillStyle
0 – Solid
Shape
3 - Circle
CommandButton
Command1
Name
cmdRed
Caption
Красный
Command2
Name
cmdYellow
Caption
Желтый
Command3
Name
cmdGreen
Caption
Зеленый
4. В окне редактора кода введите следующие процедуры обработки событий для кнопок:
5. Сохраните и протестируйте проект (рис. 2.10).
Рис. 2.10
