Donner focus a un textbox plusieurs fois trop rapidement = crash

jx53 Messages postés 98 Date d'inscription lundi 17 novembre 2008 Statut Membre Dernière intervention 4 septembre 2012 - 3 sept. 2012 à 00:24
jx53 Messages postés 98 Date d'inscription lundi 17 novembre 2008 Statut Membre Derniè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.

merci d'avance :)

4 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
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és 98 Date d'inscription lundi 17 novembre 2008 Statut Membre Derniè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)




Désolé si ce n'est pas clair.
jx53 Messages postés 98 Date d'inscription lundi 17 novembre 2008 Statut Membre Dernière intervention 4 septembre 2012
3 sept. 2012 à 01:24
l'image ne s'affiche pas... voici un lien: http://www.hostingpics.net/viewer.php?id=903109error.png
jx53 Messages postés 98 Date d'inscription lundi 17 novembre 2008 Statut Membre Dernière intervention 4 septembre 2012
3 sept. 2012 à 04:41
Bon, je vois que le probleme vien de mon keyboardhook qui me sert a empecher l'appui des combinaison Alt+Tab, Alt+Esc, Ctrl+Esc, et la touche windows.

Mais je ne sais toujours pas comment y remédier ni meme se que le méssage veut dire...
Rejoignez-nous