J'essaie de basculer sur le bouton avec une clé que je ne trouve pas la solution. Est-ce que quelqu'un peut m'aider? Voici le code de bouton.
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click toggle = toggle + 1 If toggle = 1 Then Timer1.Start() Button1.Text = "Status: ON" Else Timer1.Stop() toggle = 0 Button1.Text = "Status: OFF" End If End Sub
3 Réponses :
Vous pouvez utiliser Vous devez également activer le Clé Code>
ou keyup code>
événement du formulaire code>: keyPreview code>
du formulaire : P>
Me.KeyPreview = True
Dois-je ajouter Me.keypreview = true to form_load
Vous pouvez définir cela directement sur les propriétés du formulaire.
Cela fonctionne maintenant Merci mais quand une application est à l'arrière-plan, cela ne fonctionne pas comment puis-je le faire fonctionner en arrière-plan.
C'est c #? Mais j'ai besoin de vb
@CroatiaGM: pour le faire fonctionner en arrière-plan La meilleure approche à mon avis consiste à utiliser un crochet de clavier de bas niveau (mentionné dans la deuxième balle dans le lien de Sebastian). Ma bibliothèque a appelé InputHelper inclut une implémentation assez facile à utiliser (plus de détails peut être trouvé ici ).
J'apprendrais probablement des autres réponses - concernant les événements de porte-clés / bas, mais juste pour améliorer votre code existant, essayez ceci; Ce que j'ai fait est;
Changer l'entier à bascule en booléen - car il est utilisé comme drapeau
Utilisez ce drapeau pour activer ou désactiver la minuterie pour chaque bouton clic
Inverser le drapeau à la fin de chaque bouton, cliquez sur P> J'espère que cela aide - mais comme indiqué ci-dessus - il y a de meilleurs moyens de réaliser cela! P> p>
Utilisez une clé d'accélérateur, c'est-à-dire Ajouter une AMPersand (&) à la propriété code> CODE> et vous pouvez utiliser la touche suivante du caractère avec la touche Aussi, au lieu d'une touche code> code>, utilisez une case code> avec son ALT CODE>. P>
apparence code> définie sur la touche
code>. p>