События формы в Visual Basic 9.0
план-конспект урока по информатике и икт (10 класс) на тему
Материалы к уроку. Содержит план-констпект урока, раздаточный материал и презентацию.
Скачать:
Вложение | Размер |
---|---|
sobytiya_formy.doc | 140 КБ |
sobytiya_formy.ppt | 128 КБ |
razdatochnyy_material.doc | 42.5 КБ |
Предварительный просмотр:
Урок 4. События формы.
Цель урока: проверить знание по предыдущей теме, начать изучение основных событий формы.
Тип урока: объяснение нового материала.
Средства и оборудование: компьютер, среда разработки VB 2008, раздаточный материал.
Ход урока:
1. Фронтальный опрос (5 мин).
2. Изучение нового материала. Сегодня на уроке мы поговорим о наиболее часто используемых событиях формы (таб.1).
Событие — это действие, на которое можно ответить (или которое можно обработать) с помощью кода. События возникают в результате действий пользователя, например при щелчке мышью или при нажатии клавиши, а также при выполнении программного кода или операций системы.
Приложения, работающие на основе событий, в ответ на событие выполняют код. Для каждой формы и элемента управления предоставляется стандартный набор событий, которые могут быть запрограммированы. Если произойдет одно из этих событий, вызывается код, если он существует в соответствующем обработчике событий.
Типы событий, вызываемых объектами, различны, но многие типы являются общими для большинства элементов управления. Например, большинство объектов будет обрабатывать событие Click. Если пользователь щелкает форму, выполняется код в обработчике событий Click формы.
Примечание. |
Большинство событий возникают в сочетании с другими событиями. Например, в процессе выполнения события DoubleClick происходят события MouseDown, MouseUp и Click. |
Создание обработчиков событий в Windows Forms
Обработчик событий — это процедура в коде, определяющая действия, которые требуется выполнить при возникновении события, например когда пользователь нажимает кнопку или когда в очередь сообщений поступает очередное сообщение. При возникновении события выполняется обработчик (или обработчики) событий, который получает это событие. События могут быть назначены нескольким обработчикам, а методы, обрабатывающие отдельные события, могут динамически меняться. Можно также использовать конструктор Windows Forms Designer для создания обработчиков событий.
Обработчик событий — это метод, связанный с событием. При возникновении события выполняется код внутри обработчика событий. В каждом обработчике событий существует два параметра, которые позволяют правильно обработать событие. В следующем примере показан обработчик события Click для элемента управления Button.
Private Sub button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles button1.Click
Событийная процедура
End Sub
Первый параметр, sender, предоставляет ссылку на объект (кнопку) вызвавший событие. Второй параметр, e, в примере передает объект (мышь), связанный с обрабатываемым событием. С помощью ссылки на свойства объекта (а также на его методы) можно получить сведения, например о расположении мыши в событиях, вызываемых с помощью мыши, или о данных, которые передаются в ходе событий, возникающих при перетаскивании.
Обычно каждое событие создает обработчик событий с разными типами объекта события для второго параметра. Некоторые обработчики событий, например обработчики для событий MouseDown и MouseUp, имеют одинаковый тип объекта для второго параметра. Для этих типов событий можно использовать один и тот же обработчик событий.
Можно также использовать один и тот же обработчик событий для обработки одного события для разных элементов управления. Например, при наличии в форме группы элементов управления RadioButton можно создать один обработчик для события Click и привязать событие Click каждого элемента управления к этому обработчику.
Стандартное поведение события щелчка
Если требуется обрабатывать события щелчка мыши в определенном порядке, необходимо знать порядок, в котором возникают события щелчка в элементах управления Windows Forms. Все элементы управления Windows Forms, кроме отмеченных в представленном ниже списке отдельных элементов, вызывают события щелчка в одном и том же порядке после того, как была нажата и отпущена кнопка мыши (вне зависимости от того, какая кнопка). Ниже приведен список, показывающий порядок событий, вызываемых после одиночного щелчка мыши.
- Событие MouseDown.
- Событие Click.
- Событие MouseClick.
- Событие MouseUp.
Ниже приведен порядок событий, возникающих после двойного щелчка мыши.
- Событие MouseDown.
- Событие Click.
- Событие MouseClick.
- Событие MouseUp.
- Событие MouseDown.
- Событие DoubleClick. (Это может изменяться в зависимости от того, установлено ли для бита стиля StandardDoubleClick элемента управления значение true. Дополнительные сведения о том, как задать бит ControlStyles, см. в разделе, посвященном методу SetStyle.)
- Событие MouseDoubleClick.
- Событие MouseUp.
События формы
Формы наследуют ту же самую архитектуру на основе событий, что и прочие элементы управления. Некоторые публичные события, определенные в классе Form, полезны как "точки впрыска" в течение всей жизни формы.
Рис. 1. События в жизни Windows-формы
Универсальный тип Form предоставляет следующий события.
При работе с формами особое место занимают следующие события(таб.1).
Событие | Описание |
Load | Происходит после инициализации формы, но до ее отображения на экран. |
Click, DbClick | Происходит при щелчке и двойном щелчке в форме. |
Таб. 1. Основные события формы
2. Изучение нового материала. Сегодня на уроке мы продолжим работать с наиболее часто используемыми событиями формы (таб.2).
События Form
Событие | Описание |
Activate | Возникает не только при переключении между формами в приложении, а также при переключении из других приложений. |
Click | Происходит при щелчке. Событие Click не поддерживается для форм MDI |
DblClick | Происходит при двойном щелчке. |
Deactivate | Происходит при потере фокуса неактивной формой. В Visual Basic 6.0 событие Deactivate возникало только при переключении между формами в приложении; в Visual Basic 2008 оно возникает также при переключении на другие приложения |
Enter | Происходит при входе в элемент управления. |
MouseDown | Происходит при нажатии кнопки мыши, если указатель мыши находится на элементе управления. Событие MouseDown не поддерживается для форм MDI. |
MouseMove | Происходит при перемещении указателя мыши по элементу управления. Событие MouseMove не поддерживается для форм MDI. |
MouseUp | Происходит при отпускании кнопки мыши, когда указатель мыши находится на элементе управления. Событие MouseUp не поддерживается для форм MDI. |
FormClosing | Происходит при закрытии формы. Если форма закрывается, она удаляется, что освобождает все связанные с ней ресурсы. При отмене этого события форма остается открытой. Для отмены свертывания формы для свойства CancelEventArgs.Cancel, переданного обработчику событий, устанавливается значение true. Свойство Cancel принимает значение true, если событие следует отменить, в противном случае — значение false. Форма может быть закрыта по различным причинам, как в результате действий пользователя, так и программными средствами. Свойство FormClosingEventArgs.CloseReason указывает причину закрытия формы. |
Dispose | Метод Поведение метода Dispose отличается от поведения события Terminate. |
Сведения о мыши
Обработчику событий мыши, связанных с нажатием кнопки мыши и отслеживанием перемещения мыши, отправляется класс MouseEventArgs. Класс MouseEventArgs содержит сведения о текущем состоянии мыши, включая положение указателя мыши в клиентских координатах, нажатые кнопки мыши и данные о прокрутке колесика мыши. Некоторые события мыши, например те, которые просто уведомляют, когда указатель мыши пересекает границы элемента управления, отправляют обработчику событий класс EventArgs без подробных сведений.
Если нужно знать текущее состояние кнопок мыши или положение указателя мыши и требуется избежать обработки события мыши, можно также использовать свойства MouseButtons и MousePosition класса Control. Свойство MouseButtons возвращает сведения о том, какие кнопки мыши в настоящее время нажаты. Свойство MousePosition возвращает экранные координаты указателя мыши, которые эквивалентны значению, возвращаемому методом Position.
3. Домашнее задание: выучить методы и события, пройденные на уроке, повторить § 5.4. Методы объектов.
4. Работа за компьютером. Сообщение какая кнопка мыши была нажата в форме, как отклик на событие Click() формы.
Код проекта.
Imports System.Drawing.Drawing2D
Public Class Form1
Dim s As String
Dim x1 As Single
Dim y1 As Single
Dim Tpen As New Pen(Color.Coral, 4)
Dim gr As Graphics
Dim br As New SolidBrush(Color.Black)
Dim TextFont As New System.Drawing.Font("Arial", 12, FontStyle.Regular)
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
gr = Me.CreateGraphics()
x1 = 10
y1 = 10
End Sub
Private Sub Form1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Me.KeyPress
s = e.KeyChar 'возвращает символ нажатой клавиши
gr.DrawString(s, TextFont, Brushes.Green, x1, y1)
y1 = y1 + 15
End Sub
Private Sub Form1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseDown
If e.Button = MouseButtons.Left Then
gr.DrawString("Нажали левую кнопку мыши", TextFont, Brushes.Green, x1, y1)
y1 = y1 + 15
ElseIf e.Button = MouseButtons.Right Then
gr.DrawString("Нажали правую кнопку мыши", TextFont, Brushes.Black, x1, y1)
y1 = y1 + 15
ElseIf e.Button = MouseButtons.Middle Then
gr.DrawString("Нажали центральную кнопку мыши", TextFont, Brushes.Red, x1, y1)
y1 = y1 + 15
End If
End Sub
Private Sub Form1_Resize(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Resize
s = e.ToString
gr.DrawString("Произошло событие Form1_Resize", TextFont, Brushes.Aqua, x1, y1)
y1 = y1 + 15
End Sub
End Class
5. Итог урока. Выставление оценок.
Предварительный просмотр:
Подписи к слайдам:
Предварительный просмотр:
События Form
Событие | Описание |
Activate | Возникает не только при переключении между формами в приложении, а также при переключении из других приложений. |
Click | Происходит при щелчке. Событие Click не поддерживается для форм MDI |
DblClick | Происходит при двойном щелчке. |
Deactivate | Происходит при потере фокуса неактивной формой. В Visual Basic 6.0 событие Deactivate возникало только при переключении между формами в приложении; в Visual Basic 2008 оно возникает также при переключении на другие приложения |
Enter | Происходит при входе в элемент управления. |
MouseDown | Происходит при нажатии кнопки мыши, если указатель мыши находится на элементе управления. Событие MouseDown не поддерживается для форм MDI. |
MouseMove | Происходит при перемещении указателя мыши по элементу управления. Событие MouseMove не поддерживается для форм MDI. |
MouseUp | Происходит при отпускании кнопки мыши, когда указатель мыши находится на элементе управления. Событие MouseUp не поддерживается для форм MDI. |
FormClosing | Происходит при закрытии формы. Если форма закрывается, она удаляется, что освобождает все связанные с ней ресурсы. При отмене этого события форма остается открытой. Для отмены свертывания формы для свойства CancelEventArgs.Cancel, переданного обработчику событий, устанавливается значение true. Свойство Cancel принимает значение true, если событие следует отменить, в противном случае — значение false. Форма может быть закрыта по различным причинам, как в результате действий пользователя, так и программными средствами. Свойство FormClosingEventArgs.CloseReason указывает причину закрытия формы. |
Dispose | Метод Поведение метода Dispose отличается от поведения события Terminate. |
Обработчик событий — это метод, связанный с событием. При возникновении события выполняется код внутри обработчика событий. В каждом обработчике событий существует два параметра, которые позволяют правильно обработать событие.
Первый параметр, sender, предоставляет ссылку на объект вызвавший событие. Второй параметр, e, в примере передает объект, связанный с обрабатываемым событием. С помощью ссылки на свойства объекта (а также на его методы) можно получить сведения, например о расположении мыши в событиях, вызываемых с помощью мыши, или о данных, которые передаются в ходе событий, возникающих при перетаскивании.
Код проекта.
Imports System.Drawing.Drawing2D
Public Class Form1
Dim s As String
Dim x1 As Single
Dim y1 As Single
Dim Tpen As New Pen(Color.Coral, 4)
Dim gr As Graphics
Dim br As New SolidBrush(Color.Black)
Dim TextFont As New System.Drawing.Font("Arial", 12, FontStyle.Regular)
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
gr = Me.CreateGraphics()
x1 = 10
y1 = 10
End Sub
Private Sub Form1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Me.KeyPress
s = e.KeyChar 'возвращает символ нажатой клавиши
gr.DrawString(s, TextFont, Brushes.Green, x1, y1)
y1 = y1 + 15
End Sub
Private Sub Form1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseDown
If e.Button = MouseButtons.Left Then
gr.DrawString("Нажали левую кнопку мыши", TextFont, Brushes.Green, x1, y1)
y1 = y1 + 15
ElseIf e.Button = MouseButtons.Right Then
gr.DrawString("Нажали правую кнопку мыши", TextFont, Brushes.Black, x1, y1)
y1 = y1 + 15
ElseIf e.Button = MouseButtons.Middle Then
gr.DrawString("Нажали центральную кнопку мыши", TextFont, Brushes.Red, x1, y1)
y1 = y1 + 15
End If
End Sub
Private Sub Form1_Resize(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Resize
s = e.ToString
gr.DrawString("Произошло событие Form1_Resize", TextFont, Brushes.Aqua, x1, y1)
y1 = y1 + 15
End Sub
End Class
По теме: методические разработки, презентации и конспекты
Методическая разработка урока по теме «Разработка проектов в системе программирования Visual Basic»
Данный урока проводился в группе первокурсников техникума.Тип урока: комбинированный, использовался контроль знаний, закрепление практических навыков. На уроке использовались разноуровневые задания.Це...
Visual basic уроки по программированию
Последовательно шаг за шагом, рассматриваются темы уроков по объектно - ориентированному программированию Visual basic....
УРОК №5 Запись арифметических выражений в Visual Basic 6.0. Типы данных и точность вычислений.doc
Арифметические выражения на языке VisualBasic6.0...
9 лабораторных работ по Visual Basic. 11 класс
1. Проект "Привет".2.Программа «Скорость» решает проблему ввода числовых значений, не заставляя пользователянабирать цифры на клавиатуре. Программа «Выбор» Работая над этой программой, вы научитесь ...
События формы в Visual Basic 9.0
Материалы к уроку. Содержит план-констпект урока, раздаточный материал и презентацию....
События формы в Visual Basic 9.0
Материалы к уроку. Содержит план-констпект урока, раздаточный материал и презентацию....
Методические рекомендации к выполнению лабораторной работы №1 по Visual Basic 6.0 "Создание экранной формы (разработка интерфейса)"
Методические рекомендации для студентов по проведению лабораторных занятий по учебной дисциплине «Информатика и информационные коммуникационные технологии». Среда программирования Visual Basic 6...