Тема 2. Основы алгоритмизации и программирования
Тема 2.1. Базовые понятия программирования.
Приложение: projeсt 3_cobitiy
Занятие 10. События и их обработчики. Создание программного кода.
Работая с разнообразными программами, вы привыкли к тому, что выбор кнопки всегда приводит к наступлению определенного события:
- открытию или закрытию определенного окна,
- изменению значений свойств определенных объектов,
- перемещению определенного объекта по экрану и т. п.
Но если выбрать кнопку в любом из проектов, которые вы создавали во время изучения предыдущего пункта (например - projekt 1.rar), то ничего не произойдет.
Причиной этому является то, что самого лишь размещения на форме кнопки недостаточно, чтобы при ее выборе что-то произошло.
Программе нужно «сообщить», какое новое событие должно состояться при выборе кнопки.
I. Реакция на кнопку (например, проект projeсt 1).
Созданная кнопка сейчас служит лишь украшением окна. При щелчке на ней должно происходить какое-то событие, но программа о нем пока ничего не знает.
![](/11_vvedenie_VB/1_a.png)
Наша задача - указать программе, что она должна делать при щелчке на кнопке, т.е. написать программный код обработки события - щелчка на кнопке (Click).
Выполняем двойной щелчок на кнопке и переходим в окно кода формы:
В верхней части окна располагаются два раскрывающихся списка.
- Левый содержит все объекты, имеющиеся на форме:
- Раскрывающийся список справа содержит набор событий, связанных с выбранным объектом, на которые программа может реагировать.
PS!!!
Процедура (лат. procedere — продвигаться, идти вперед) — это часть программы, которая имеет имя и которую можно по этому имени вызвать на исполнение в разных частях программы.
|
- Процедура, которая исполняется при наступлении некоторого события, называется обработчиком этого события.
|
2. Процедура, связанная с определенным объектом, называется методом этого объекта.
|
- В основной части окна система подготовила обработчик события щелчок на кнопке (Click), оформленный в виде процедуры.
Процедура начинается с оператора Sub, за которым идет имя процедуры, а заканчивается оператором End Sub.
Эти операторы система вставляет автоматически, чтобы мы сразу видели, где процедура начинается и где заканчивается.
Осталось только записать собственноручно операторы, описывающие, что происходит по щелчку на кнопке. Чтобы нам проще было сделать это, текстовый курсор уже поставлен в нужное место.
В нашем случае щелчок на кнопке должен завершать работу приложения и закрывать окно. В Visual Basic это достигается при помощи оператора End:
Private Sub Button1_Click(..............) Handles Button1.Click
End
End Sub |
Пример (пример проекта: project _cobytiy)
Рассмотрим проект в котором используются обработчики событий:
- TextBox1_TextChanged - реакция на ввод текста в текстовое поле TextBox1;
- Button1_MouseMove - реакция на наведение указателя мышки на кнопку Button1;
- Form1_MouseMove - реакция на положение указателя мышки на форме вне области расположения кнопки Button1;
- Button2_Click - реакция на щелчок указателя мышки на кнопке Button2.
Интерфейс проекта:
![](/11_tema2_2/1111.png)
Программный код:
Private Sub Button1_MouseMove(.........) Handles Button1.MouseMove
PictureBox1.Visible = True ' свойство Visible - видимость, может принимать два значения: true, false . Следовательно, при наведении указателя мыши на кнопку Button1, видимым окажется изображение элемента PictureBox1'
PictureBox2.Visible = False 'при наведении указателя мыши на кнопку Button1, изображение элемента PictureBox2 окажется невидимым'
End Sub
Private Sub TextBox1_TextChanged(..........) Handles TextBox1.TextChanged
Label1.Text = TextBox1.Text ' Значению свойства Text компонента Label1 присваивается значение свойства Text компонента TextBox1'
End Sub
Private Sub Button2_Click(......) Handles Button2.Click
Label1.Text = "" ' Значению свойства Text компонента Label1 присваивается значение " ", т.е. - пустой текст (стирание информации) в памяти'
TextBox1.Text = "" ' Значению свойства Text компонента TextBox1 присваивается значение " ", т.е. - пустой текст '
TextBox1.Focus() ' текстовый курсор устанавливается в строку ввода компонента TextBox1'
End Sub
Private Sub Form1_MouseMove(.........) Handles Me.MouseMove
PictureBox1.Visible = False 'при выводе указателя мыши за пределы кнопки Button1, изображение элемента PictureBox1 окажется невидимым'
PictureBox2.Visible = True 'а изображение элемента PictureBox2 окажется видимым'
TextBox1.Focus()
End Sub
вверх
Занятие 10.1
назад
|