Трусов М. А. Visual Basic .NET. Создание графических объектов и основы программирования стр.59
Трусов М. А. Visual Basic .NET. Создание графических объектов и основы программирования стр.59

В качестве примера рассмотрим программу, которая будет передвигать объект на форме. Направление движения определяется четырьмя клавишами: w, s, a, d (вперед, назад, влево, вправо). Поместим на форму элемент управления Label и изменим его свойство BackColor, чтобы выделить фон этого объекта. Затем добавим четыре элемента управления Timer.

Трусов М. А. Visual Basic .NET. Создание графических объектов и основы программирования

KeyDown и KeyUp

Программу составим таким образом, чтобы циклическая программа, передвигающая объект, запускалась таймером, а таймер, в свою очередь, - кнопкой. Сначала создадим процедуру обработки события Form__KeyDown. Для этого в окне Class Name выберем строку (Form Events), а в окне Method Name - строку KeyDown. В этой процедуре разместим коды, включающие таймеры. Затем создадим циклические программы для каждого из таймеров, которые будут перемещать объект по четырем направлениям. И, наконец, составим коды для события KeyUp, отключающие таймер. В результате программа будет выглядеть так:

Private Sub Form3_KeyDown(ByVal sender As Object, ByVal e _

As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown

If e.KeyCode = Keys.W Then Timerl.Start()

If e.KeyCode = Keys.S Then Timer2.Start()

If e.KeyCode = Keys.A Then Timer3.Start()

If e.KeyCode = Keys.D Then Timer4.Start()

End Sub

Private Sub Form3_KeyUp(ByVal sender As Object, ByVal e _

As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyUp

If e.KeyCode = Keys.W Then Timerl.Stop()

If e.KeyCode = Keys.S Then Timer2.Stop()

If e.KeyCode = Keys.A Then Timer3.Stop()

If e.KeyCode = Keys.D Then Timer4.Stop()

End Sub

Private Sub Timerl_Tick(ByVal sender As System.Object,ByVal e _

As System.EventArgs) Handles Timerl.Tick

Static у As Single

у = Label1.Top

у = у - 1

Label1.Top = у

End Sub

Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e _

As System.EventArgs) Handles Timer2.Tick

Static у As Single

у = Label1.Top

у = у + 1

Label1.Top = у

End Sub

Private Sub Timer3_Tick(ByVal sender As System.Object, ByVal e _ As System.EventArgs) Handles Timer3.Tick

Трусов М. А. Visual Basic .NET. Создание графических объектов и основы программирования

ГЛАВА 9 ▼ Использование клавиатуры

Static х As Single х = Label1.Left x = x - 1 Label1.Left = x End Sub


⇐ Предыдущая Следующая ⇒
 
 
 
Powered by Exponenta