События формы в Visual Basic 9.0
план-конспект урока по информатике и икт (10 класс) на тему

Белкин Виктор Владимирович

Материалы к уроку. Содержит план-констпект урока, раздаточный материал и презентацию.

Скачать:

ВложениеРазмер
Microsoft Office document icon sobytiya_formy.doc140 КБ
Office presentation icon sobytiya_formy.ppt128 КБ
Microsoft Office document icon razdatochnyy_material.doc42.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, кроме отмеченных в представленном ниже списке отдельных элементов, вызывают события щелчка в одном и том же порядке после того, как была нажата и отпущена кнопка мыши (вне зависимости от того, какая кнопка). Ниже приведен список, показывающий порядок событий, вызываемых после одиночного щелчка мыши.

  1. Событие MouseDown.
  2. Событие Click.
  3. Событие MouseClick.
  4. Событие MouseUp.

Ниже приведен порядок событий, возникающих после двойного щелчка мыши.

  1. Событие MouseDown.
  2. Событие Click.
  3. Событие MouseClick.
  4. Событие MouseUp.
  5. Событие MouseDown.
  6. Событие DoubleClick. (Это может изменяться в зависимости от того, установлено ли для бита стиля StandardDoubleClick элемента управления значение true. Дополнительные сведения о том, как задать бит ControlStyles, см. в разделе, посвященном методу SetStyle.)
  7. Событие MouseDoubleClick.
  8. Событие 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....

9 лабораторных работ по Visual Basic. 11 класс

1. Проект "Привет".2.Программа «Скорость» решает проблему ввода числовых значений, не заставляя пользователянабирать цифры на клавиатуре. Программа «Выбор» Работая над этой программой, вы научитесь ...

События формы в Visual Basic 9.0

Материалы к уроку. Содержит план-констпект урока, раздаточный материал и презентацию....

События формы в Visual Basic 9.0

Материалы к уроку. Содержит план-констпект урока, раздаточный материал и презентацию....

Методические рекомендации к выполнению лабораторной работы №1 по Visual Basic 6.0 "Создание экранной формы (разработка интерфейса)"

Методические рекомендации для студентов по проведению лабораторных занятий по учебной дисциплине «Информатика и информационные коммуникационные технологии». Среда программирования  Visual Basic 6...