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

Windows Presentation Foundation Discussion :

Affichage trop rapide.


Sujet :

Windows Presentation Foundation

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Distribution

    Informations forums :
    Inscription : Novembre 2006
    Messages : 105
    Points : 115
    Points
    115
    Par défaut Affichage trop rapide.
    Bonjour à tous,

    Je réalise pour le moment une fenetre en avec WPF qui va servir de SplashScreen.

    Cette fenetre ce charge de vérifier et de mettre à jours l'application principal si nécessaire.
    J'ai donc dans cette fenetre un TextBlock et une progressBar...
    Seulement, le traitement est tres rapide et le résultat est que je ne voit pas mon SplashScreen...

    J'ai voulu faire des Thread.Sleep() entre mes différente mise à jours de la progressBar, mais il rien de ne voit aucun changement à l'ecran...

    En gros voici mon code :
    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
    20
    21
    22
    23
    24
    25
     
    try
                {
                    Updateur updatr = new Updateur(Environment.CurrentDirectory, "foo", "foo", "foo");
                    do
                    {
                        this.Show();
                        labelStatut.Content = "Vérification des mises à jours disponibles";
                        progressBar1.Value = 10;
    Thread.sleep(1000);
     
                        while (updatr.checkBesoinMAJ() == true)
                        {
                            labelStatut.Content = "Installation des mises à jours";
                            progressBar1.Value = 50;
    Thread.sleep(1000);
                            updatr.doMAJ();//Mise à jours
                        }
                        progressBar1.Value = 80;
                        labelStatut.Content = "Démarrage du logiciel";
                        progressBar1.Value = 100;
    Thread.sleep(1000);
                        updatr.demarrerLogiciel();
                        this.Hide();
                    } while (updatr.attendreSignal());
    Et donc ici, mon application ce charge, elle attend 3 seconde puis éxécute le reste :s
    Du coups je ne vois pas les changement dans le textBlock et la progressBar

  2. #2
    Rédacteur
    Avatar de Yoshio
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 732
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 732
    Points : 2 981
    Points
    2 981
    Par défaut
    Où as tu placé ce code?

    Ton code bloque l'interface graphique. Tu dois l'exécuter dans une thread.

  3. #3
    Membre expert
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 210
    Points : 3 015
    Points
    3 015
    Par défaut
    Salut,

    Citation Envoyé par dogua
    Seulement, le traitement est tres rapide et le résultat est que je ne voit pas mon SplashScreen...
    Donc, le SplashScreen n'est pas forcément nécessaire, non ?

    Sinon, je rejoins ce que dis Yoshio. Un BackgoundWorker te permettrait de gérer le traitement de mise à jour dans un thread différent et de notifier le thread de l'interface grâce aux évènements ProgressChanged et RunWorkerCompleted du BackgoundWorker.

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

Discussions similaires

  1. Affichage trop rapide
    Par michaeljeru dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 15/06/2008, 14h04
  2. Traitement trop rapide
    Par Ludog35 dans le forum Access
    Réponses: 2
    Dernier message: 19/06/2006, 14h25
  3. [VBA-E] Liaisons qui ne se mettent pas à jour (macro trop rapide?)
    Par minikisskool dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 21/11/2005, 09h36
  4. Horloge 2x trop rapide!
    Par rgy834 dans le forum Administration système
    Réponses: 6
    Dernier message: 24/10/2005, 21h08
  5. Compte à rebours trop rapide
    Par Anduriel dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 12/06/2005, 20h57

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