IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Problème "remplissage" progresBar


Sujet :

C#

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 18
    Points : 15
    Points
    15
    Par défaut Problème "remplissage" progresBar
    Bonjour.
    Alors voilà mon problème , j'ai une progressBar que je remplit normalement comme ci-dessous.
    Les boucle longues peuvent aussi être des Thread.sleep(temps);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     long k = 0;
     
                progressBar1.Value = 0;
                for (int i = 0; i < 100; i++)
                {
                    //Simule une longue boucle
                    for (int j = 0; j < 10000000; j++)
                    {
                        k++;
                    }
     
                    progressBar1.Value += 1;
                    Application.DoEvents();
     
                    for (int j = 0; j < 10000000; j++)
                    {
                        k++;
                    }
                }

    Le Hic c'est dès que je mets ce code dans une boucle while (par exemple un while(true) pour avoir une boucle qui se remplit et qui recommence indéfiniment.), la barre ne se remplit plus jusqu'au bout "Graphiquement", parce qu'avec des points d'arrêts ma barre va bien jusqu'au bout.
    Si vous avez des idées du pourquoi et du comment.
    Merci.

  2. #2
    Membre éprouvé Avatar de yonpo
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2010
    Messages
    617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 617
    Points : 947
    Points
    947
    Par défaut
    Salut,

    Ce genre de question revient souvent sur le forum. As-tu fais une recherche ?

    Sinon, regarde du côté de Thread ou Backgroundworker par exemple.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 18
    Points : 15
    Points
    15
    Par défaut
    Citation Envoyé par yonpo Voir le message
    Salut,

    Ce genre de question revient souvent sur le forum. As-tu fais une recherche ?

    Sinon, regarde du côté de Thread ou Backgroundworker par exemple.
    C'est bon ça fonctionne.
    La difficulté c'est qu'a coté je gérais une tache lourde via des Task en asynchrone et qu'il fallait que je gère aussi du coup cette barre en asynchrone.

    Et donc je me suis aidé de ce post :

    http://www.developpez.net/forums/d96...ue-traitement/

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 15
    Dernier message: 21/02/2007, 17h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo