Donner focus a un textbox plusieurs fois trop rapidement = crash
jx53
Messages postés98Date d'inscriptionlundi 17 novembre 2008StatutMembreDernière intervention 4 septembre 2012
-
3 sept. 2012 à 00:24
jx53
Messages postés98Date d'inscriptionlundi 17 novembre 2008StatutMembreDernière intervention 4 septembre 2012
-
3 sept. 2012 à 04:41
salut a tous! je suis présentement en train de créer un petit programme qui demande un mot de passe avant de dévérouiller l'ordinateur et je rencontre un petit probleme. Dans les options de la form j'ai mis que l'ors de l'appuis de la touche entrée, le programme simule l'appuis du boutton "dévérouiller".
Donc, ce bouton a pour fonction de vérifier si le mot de passe est bon, si il l'est, il réactive toute les fonction désactivé au démarage, et désactive les sécuritée implantée au démarrage aussi, et si le mot de passe n'est pas le bon, il éffasse le contenu de textbox, émet un bip, et redonne le focus au textbox.
Donc le probleme: si a répétition de facon rapide j'entre un mauvais mot de passe et appuis sur le bouton "dévérouiller" le programme plante apres 2 ou 3 fois, et si au lieu d'appuyer sur le bouton j'appuis sur la touche entrée, jamais aucun plantage.
Voici mon code et j'espere que vous pourez m'aider :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If TextBox1.Text = "12345" Then
on désactive le tout (je ne veut pas vous montrer le code avant qu'il soit fini)
Else
TextBox1.Text = ""
TextBox1.Select()
Beep()
End If
End Sub
ps: le fait d'utiliser textbox1.focus, au lieu de select ne fait aucune différence.
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 3 sept. 2012 à 00:59
Salut
Donne des noms à tes objets (boutons, textbox ...) car tu expliques que si tu cliques sur "dévérouiller", ça fait ceci ou cela, mais on ne sait pas si c'est le bouton "Button1".
Un minimum d'organisation.
Plantage ?
Quel genre ?
Erreur ?
Laquelle ?
Sur quelle ligne ?
"si a répétition de facon rapide j'entre un mauvais mot de passe"
Ecrire un mot de passe et cliquer sur le bouton, rapide, ça peut être 1 seconde ou 2.
Alors, c'est quoi rapide ?
Que se passe t-il quand tu appuies sur la touche 'Entrée' ?
Ta TextBox reçoit la touche.
La traites-tu ?
Si Button1 a le focus, il est possible qu'il soit activé par cette touche.
As-tu fait du débogage pour suivre se qui se passe ?
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
jx53
Messages postés98Date d'inscriptionlundi 17 novembre 2008StatutMembreDernière intervention 4 septembre 2012 3 sept. 2012 à 01:23
okok, premierement, oui le boutton1 est le bouton dévérouiller, et le textbox1 est la textbox ou on entre le mot de passe. Ensuite, quand je dit rapide je parle de laisser la souris sur le bouton et d'entrer des mot de passe bidon a répétition en moin d'une seconde a chaque fois, carément spammer le programme autrement dit. Ensuite, l'appuis de la touche entré enclenche le meme processus que le bouton "dévérouiller" car dans les options de la form on peut choisir un bouton ou autre qui sera simulé si l'utilisateur appuis sur entré alors que la form a le focus, et j'ai choisi le boutton "dévérouiller" le bouton n'a aucunement besoin d'avoir le focus. Sinon je ne peut pas débugger car je ne comprend pas dutout se que vb me dit... voici une capture d'écran car il y a trop de chose dessu x)