[Catégorie modifiée VB6 -->.Net] mettre un sleep dans une boucle [Résolu]

Signaler
Messages postés
8
Date d'inscription
mercredi 1 septembre 2010
Statut
Membre
Dernière intervention
30 septembre 2010
-
Messages postés
14733
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
12 octobre 2020
-
bonjour
je viens avec une question de debutant
en fait j'essaie d'afficher le nbr de boucle dans un label
je voulais pouvoir lire la valeur de a
même avec un sleep a 2 seconde ( qui ralentit la boucle )
je n'ai que la valeur final de a qui s'affiche a la fin

en fait j'ai un bouton , et un label
et voici le code

Public Class Form1
Public 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
Dim a As Integer
For a = 1 To 100
Sleep(2000)
a = a + 1
Label1.Text = a
Next
End Sub
End Class

je ne sais pas trop ou est le pb ,
4merci de votre aide

3 réponses

Messages postés
14733
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
12 octobre 2020
146
Bonjour,

Déjà, ce n'est pas du VB6, mais du VB.NET, la prochaine fois, fais attention ;)

Ensuite, voici ton code corrigé :
Public Class Form1
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim a As Integer
        For a = 1 To 100
            System.Threading.Thread.Sleep(2000)
            'a = a + 1 Pas besoin
            Label1.Text = a
            System.Windows.Forms.Application.DoEvents()
        Next
    End Sub
End Class 


Ensuite, si tu ne veux pas bloquer toute ton appli et éviter le DoEvents (ainsi que le Sleep), essaye un Timer (contrôle).

Mon site
Messages postés
14733
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
12 octobre 2020
146
Penses alors à mettre "Réponse acceptée" pour faciliter la recherche des autres participant de ce forum :)
Messages postés
8
Date d'inscription
mercredi 1 septembre 2010
Statut
Membre
Dernière intervention
30 septembre 2010

merci beaucoup

ça marche nickel

A+