Besoin d'aide, VB.NET

Résolu
Cucus_4732 Messages postés 25 Date d'inscription   Statut Membre Dernière intervention   -  
 Utilisateur anonyme -
Bonjour tout le monde !
J'aurais besoin d'aide pour un bout de code: mon but est que le location left et top changent dès qu'une certaine touche est pressé.
Mon code:

Private Sub Form1_KeyUp(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyUp
If e.KeyCode = Keys.Enter Then
LBL_1.Location.top = LBL_1.Location.top + 10
End If
End Sub


Cela marche très bien, mais le problème est qu'il faut a chaque fois réenfoncer la touche pour qu'il y ai un nouveau +10.
J'aimerais donc une fonction qui permet de rajouter +10 a la location du label sans avoir à chanque fois a réenfoncer la touche

Merci d'avance
- Marcus
A voir également:

2 réponses

NHenry Messages postés 15219 Date d'inscription   Statut Modérateur Dernière intervention   365
 
As-tu essayé l'event KeyPress ?
0
Cucus_4732 Messages postés 25 Date d'inscription   Statut Membre Dernière intervention  
 
Non, j'essayerai
0
Utilisateur anonyme
 
Si tu veux que le label se déplace tant que la touche est enfoncée, alors il faut répéter l'action pendant tout ce temps.

Une solution est de mettre le code de déplacement dans un timer.
Tu démarre le timer au moment du KeyDown et tu l'arrêtes au KeyUp.

Si l'intervalle du timer est trop court, tu arrêteras le label trop loin, si l'intervalle est trop long le déplacement sera lent.
Tu peux commencer par 500ms et ensuite tu adaptes en fonction de ton ressenti
0