Problème visual basic 10

Fermé
Bruno93190 Messages postés 24 Date d'inscription mercredi 16 octobre 2013 Statut Membre Dernière intervention 8 avril 2014 - 16 oct. 2013 à 23:20
Doctor C Messages postés 627 Date d'inscription mardi 12 juin 2007 Statut Membre Dernière intervention 19 février 2016 - 17 oct. 2013 à 18:57
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 mardi 12 juin 2007 Statut Membre Dernière intervention 19 février 2016 398
Modifié par Doctor C le 17/10/2013 à 17:05
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 mercredi 16 octobre 2013 Statut Membre Dernière intervention 8 avril 2014
17 oct. 2013 à 17:28
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 mardi 12 juin 2007 Statut Membre Dernière intervention 19 février 2016 398
17 oct. 2013 à 18:57
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