Problème visual basic 10

Bruno93190 Messages postés 24 Date d'inscription   Statut Membre Dernière intervention   -  
Doctor C Messages postés 627 Date d'inscription   Statut Membre Dernière intervention   -
Salut tout le monde !
Je suis actuellement entrain de coder un petit autoclick.
Il y a seulement un petit problème... Le timer s'éxecute quand je click sur le boutton numéro 1 et il s'arrête lorsque que je click sur le boutton 2.
Voici mon code :
Public Class Form1
Public Const MOUSEEVENTF_LEFTDOWN = &H2
Public Const MOUSEEVENTF_LEFTUP = &H4
Private Const MOUSEEVENTF_RIGHTDOWN = &H8
Private Const MOUSEEVENTF_RIGHTUP = &H10
Declare Function apimouse_event Lib "user32.dll" Alias "mouse_event" (ByVal dwFlags As Int32, ByVal dX As Int32, ByVal dY As Int32, ByVal cButtons As Int32, ByVal dwExtraInfo As Int32) As Boolean
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Call apimouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
Call apimouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
End Sub
Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Timer1.Start()
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Timer1.Stop()
End Sub

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

End Sub

End Class

J'aimerais plutôt que le timer s'arrête lorsque je click sur le boutton du clavier (par exemple f2).
Ce serais très gentil si quelqu'un m'aiderait à faire ceci.

Adios ! :)
A voir également:

2 réponses

Doctor C Messages postés 627 Date d'inscription   Statut Membre Dernière intervention   399
 
Il faudrait que tu détectes que l'utilisateur appuie sur un bouton du clavier avec la méthode KeyDown.

J'ai trouvé un exemple sur le site StackOverflow, ça ressemble à ça:

Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As KeyEventArgs) Handles MyBase.KeyDown
If e.Control AndAlso e.KeyCode = Keys.S then
' Call your sub method here .....
YourSubToCall()

' then avoid the key to reach the current control
e.Handled = False
End If
End Sub

https://stackoverflow.com/questions/13727172/vb-net-keydown-event-on-whole-form

Si on voulait l'ajuster pour ce que tu veux faire, je suppose que ça ressemblerait à (Il faudrait que le nom de la méthode corresponde au nom de ton formulaire: NomDeTonFormulaire_KeyDown) :

Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As KeyEventArgs) Handles MyBase.KeyDown
If e.KeyCode = Keys.F2 then
Timer1.Stop()
End If
End Sub

Ça devrait être une bonne piste.
Bonne chance!


Echo "Lima Mike Alfa";
0
Bruno93190 Messages postés 24 Date d'inscription   Statut Membre Dernière intervention  
 
Merci mais peux-tu ajouter le code que tu m'as donner dans mon ancien code stp
Désolé je débute...
0
Doctor C Messages postés 627 Date d'inscription   Statut Membre Dernière intervention   399
 
J'ajouterais le bloc de code suivant après le "End Sub" de ton "Private Sub Button2_Click" (mais tu pourrais le mettre ailleur):

Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As KeyEventArgs) Handles MyBase.KeyDown
If e.KeyCode = Keys.F2 then
Timer1.Stop()
End If
End Sub
0