Pause avec API Sleep [Résolu]

Signaler
Messages postés
73
Date d'inscription
mardi 18 mars 2008
Statut
Membre
Dernière intervention
19 décembre 2010
-
Messages postés
73
Date d'inscription
mardi 18 mars 2008
Statut
Membre
Dernière intervention
19 décembre 2010
-
Voila je cherche a faire clignoter une image sans utiliser la fonction timer

j'ai donc utiliser l'API sleep
   Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
     
        Sleep(500)
        Button1.Visible = False
        Sleep(500)
        Button1.Visible = True
        Sleep(500)
        Button1.Visible = False
        Sleep(500)
        Button1.Visible = True
        Sleep(500)
    End Sub
Mais y a un problème, mon button ne clignote qu'une fois comme si mon code été :
          Button1.Visible = False

          Sleep(2000)

          Button1.Visible = True
Remarquez que j'ai l'impression qu'il m'additionne tous les tps du Sleep
Si quelqu'un a une solution je suis préneur
Merci d'avance
Médéric
Ergonome Logiel
(VB.NET-Débutant)

9 réponses

Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
47
Salut,
Bah le problème avec Sleep C'est que cela SUSPENS l'exécution de ton programme.

Chose que ne fait pas le timer (moi je trouve cela mieux tout de même)

<hr size="2" width="100%" />@+: Ju£i?n
Pensez: Réponse
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
47
Salut,

Je crois qu'en .NET il faut faire

Imports System.Windows.Forms.Application (en haut)

Et après utiliser dans le programme DoEvents.

OU ALORS Faire "Simplement" System.Windows.Forms.Application.DoEvents

<hr size="2" width="100%" />@+: Ju£i?n
Pensez: Réponse
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
47
Salut,
Et pourquoi le Timer ne te plait pas?

<hr size="2" width="100%" />@+: Ju£i?n
Pensez: Réponse
Messages postés
73
Date d'inscription
mardi 18 mars 2008
Statut
Membre
Dernière intervention
19 décembre 2010

J'ai déja plusieurs fonction timer et comme j'apprend j'aimerais essayer autre chose.
La fonction Sleep me parais simple à utiliser et j'aimerais comprendre comment elle fonctionne
Si j'ai pa le choix j'utiliserai un timer.

Médéric
Ergonome Logiel
(VB.NET-Débutant)
Messages postés
918
Date d'inscription
vendredi 3 août 2007
Statut
Membre
Dernière intervention
27 octobre 2008
10
Et si tu veux que ton code fonctione correctment, il te faut un doEvents après chaque Sleep(), ca obligera Windows a redessinner ta form,et tu verras alors ton bouton clignoter
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
12
@jrivet : Cela ne met pas en suspens ton programme mais le thread actuel ... Nuance !
_______________________________________________________________________
VB.NETis good ...VB6is better
Messages postés
73
Date d'inscription
mardi 18 mars 2008
Statut
Membre
Dernière intervention
19 décembre 2010

Je n'est pas le doEvents sur VB2008 connait tu l'équivalent?

Médéric
Ergonome Logiel
(VB.NET-Débutant)
Messages postés
73
Date d'inscription
mardi 18 mars 2008
Statut
Membre
Dernière intervention
19 décembre 2010

En fait j'ai cherché mais mon problème est que quand je tape
Imports System.Windows.Forms.Application.DoEvents()
VB me le souligen en vert et me dit qu'il ne contient aucun membre public
et la je comprend plus rien
Un explication serait la bien venu et encore merci de votre aide

Médéric
Ergonome Logiel
(VB.NET-Débutant)
Messages postés
73
Date d'inscription
mardi 18 mars 2008
Statut
Membre
Dernière intervention
19 décembre 2010

Merci jrivet j'ai enfin réussit

Médéric
Ergonome Logiel
(VB.NET-Débutant)