![]() |
|
|
#1 (permalink) |
|
Poo-tee-weet?
Location: The Woodlands, TX
|
[VB.NET] Run a timer while a key is depressed
ok i want to have a timer running while a user has a key depressed and then i want it to stop when the user lets go... havnt gotten to keyboard stuff like this in my class yet... im just messing around with it on my own...
the pseudo code goes like this... if "w" key is pushed then timer1.enabled = True else timer1.enabled = false endif I just have no idea how to tell when a user is pushing the key in...
__________________
-=JStrider=- ~Clatto Verata Nicto |
|
|
|
|
#2 (permalink) |
|
Upright
Location: Colorado
|
I'm not a big VB.NET guy, I program VB6 by day to earn the bread money, but as far as .NET goes, C# is where I'm at so I'll try to help. I think this'll work.
After your form generated code, you'd want to do something like this: Code:
'Make yourself a timer that has events.
Dim WithEvents m_Timer As Timer
'On your form key down event, enable the timer.
Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown
m_Timer.Enabled = True
End Sub
'On your form key up event, disable the timer.
Private Sub Form1_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyUp
m_Timer.Enabled = False
End Sub
'Timer event.
Private Sub m_Timer_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles m_Timer.Tick
End Sub
'Set the timer interval on the form load
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
m_Timer.Interval = 100
End Sub
![]() |
|
|
|
|
#3 (permalink) |
|
Poo-tee-weet?
Location: The Woodlands, TX
|
yah... im just using VB.NET cuz thats what im being taught in class...
and the code works... for any key being pushed on the keyboard... how can i make it so the timer only runs when only the "w" key is depressed?
__________________
-=JStrider=- ~Clatto Verata Nicto |
|
|
|
|
#4 (permalink) | |
|
Upright
Location: Colorado
|
Quote:
Code:
'On your form key down event, enable the timer.
Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown
If e.KeyCode = Keys.W Then
m_Timer.Enabled = True
End If
End Sub
|
|
|
|
| Tags |
| depressed, key, run, timer, vbnet |
| Thread Tools | |
|
|