Attendre un certains temps (pause) sans "perdre la main" en vb .net


Contenu du snippet

Bon j'ai deja mis ce petit code ici en vb6 mais j'ai preferer ajouter une source differente plutot que de modifier l'ancienne et y ajouter la fonction en .net .
Ceci peut vous servir pour vos applis utilisants des sockets ou pour certains effet visuel par exemple... Enfin bref, c'est assez explicite pour que vous sachiez quand est ce que cela peut vous servir.

Source / Exemple :


'à mettre dans un module ou qq part dans votre form

    Friend Sub hbwait(ByVal ms_to_wait As Long)
        Dim endwait As Double
        endwait = Environment.TickCount + ms_to_wait
        While Environment.TickCount < endwait
            System.Threading.Thread.Sleep(1)
            Application.DoEvents()
        End While
    End Sub

'puis vous n'avez qu'a appeler la fonction comme tel :

hbwait(500) 'attends 500 millisecondes

'ce petit exemple affiche la date et l'heure dans le label1, puis rafraichit cette valeur 5 secondes/5000 millisecondes apres pendant lesquels vous pouvez positionner,fermer votre form, etc...
        Label1.Text = Now
        hbwait(5000)
        Label1.Text = Now

Conclusion :


02/2003 : ... j'ai decouvert le system de threading en vb.net ... ce code ne sert donc à rien du tout. mais on ne peux pas supprimer ses codes donc...
03/2007 : mmm n'importe quoi, on ne fait pas tout en multithreading ^^, j'ai eu à nouveau besoin d'utiliser cette methode sur un recent projet ^^, cependant, ajout d'un sleep de 1ms, qui peut en effet peut etre reduire la précision, mais qui evite de faire tourner le procésseur à 100% pendant tout l'attente :)

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.