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 :

Problème sur l'incrémentation automatique d'un compteur [Débutant(e)]


Sujet :

Windows Presentation Foundation

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 21
    Points : 14
    Points
    14
    Par défaut Problème sur l'incrémentation automatique d'un compteur
    Bonsoir,

    Je sèche complètement sur une appli C#. Sur un formulaire (WPF), je souhaite incrémenter automatiquement la valeur d'un label (l'incrémentation doit démarrer lors d'un clic sur un bouton) en fonction d'une valeur max (exemple : de 1 à 7) toutes les 2 secondes, seulement impossible d'avoir chaque incrémentation intermédiaire entre 1 et 7, la valeur du label passe directement à 7.

    Je ne vois pas du tout comment faire cela, quelqu'un aurait-il une solution à ce problème ?


    Merci d'avance pour vos réponses

  2. #2
    Membre éprouvé Avatar de sisqo60
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2006
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 754
    Points : 1 188
    Points
    1 188
    Par défaut
    Bonsoir,

    C'est un peu vague... Tu fais du binding? ou tu met à jour la valeur de ton label dans ton code? Envoie un morceau de code et on pourra peut-être t'aider. Sinon regarde ici, tu pourrais y apprendre quelquechose d'intéressant

    bon dev

  3. #3
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    231
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2008
    Messages : 231
    Points : 359
    Points
    359
    Par défaut
    envoie ton code

  4. #4
    Membre éprouvé Avatar de jmix90
    Homme Profil pro
    Consultant .Net
    Inscrit en
    Juillet 2007
    Messages
    576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant .Net
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2007
    Messages : 576
    Points : 998
    Points
    998
    Par défaut
    Bonjour,

    Il ne faut pas faire de Thread.sleep sinon cela freeze ton interface et tu n'as pas de mise à jour visible.

    Utilise la classe DispatcherTimer pour cela .

    Bon courage,

  5. #5
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Citation Envoyé par jmix90 Voir le message
    Il ne faut pas faire de Thread.sleep
    Certes, mais dans la mesure où il n'a pas posté le code qu'est ce qui te fait dire qu'il fait un Sleep ?

  6. #6
    Membre éprouvé Avatar de jmix90
    Homme Profil pro
    Consultant .Net
    Inscrit en
    Juillet 2007
    Messages
    576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant .Net
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2007
    Messages : 576
    Points : 998
    Points
    998
    Par défaut
    L'intuition J'essaye d'être pro-actif :p

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 21
    Points : 14
    Points
    14
    Par défaut
    Bonjour,

    Tout d'abord merci pour vos réponses.

    Tu fais du binding? ou tu met à jour la valeur de ton label dans ton code?
    Je ne sais ce qu'est le binding, mais je mets à jour la valeur du label.

    J'ai bien utilisé les Thread.sleep... ^^'
    Je ne voyais pas trop comment faire sinon et je ne connaissais pas la classe DispatcherTimer. Je vais aller y jeter un oeil.

    Voici les morceaux de codes correspondant au code de mon interface graphique (MaClasse.xaml.cs) (les objets ont été préalablement déclarés dans la classe pour un accès à ces derniers dans toutes les méthodes) :

    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
    26
    27
            /**
             * Evénement clic sur le bouton "marche"
             */
            private void buttonMarche_Click(object sender, RoutedEventArgs e)
            {
                trompettes = new MachineTrompettes(new Panier(7));
     
                threadTrompettes = new Thread(new ThreadStart(trompettes.fabriquerPiece));
     
                threadTrompettes.Start();
                threadTrompettes.Join();
     
                //Thread.Sleep(300);
     
                labelNbTrompettes.Dispatcher.BeginInvoke(new delegateTrompettes(setPanierTrompettes), this.trompettes.getPanierDepot().NbPieces); // NbPieces initialisé à 0 au démarrage de l'application
            }
     
     
            /**
             * Met à jour le label des trompettes
             * 
             * @param <integer> Nombre de trompettes créées
             */
            public void setPanierTrompettes(int arg)
            {
                labelNbTrompettes.Content = arg.ToString();
            }

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 21
    Points : 14
    Points
    14
    Par défaut
    J'ai fais quelques recherches sur la classe DispatcherTimer et le peu que j'ai trouvé je n'y ai rien compris. Aucun exemple simple et clair ; et je continue de tourner en rond sur mon problème

  9. #9
    Membre éprouvé Avatar de sisqo60
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2006
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 754
    Points : 1 188
    Points
    1 188
    Par défaut
    Bonjour,

    As-tu regardé ici...

    Pourquoi s'entêter à continuer sur une solution "bidouille" alors que des mécanismes existent en WPF pour faire une animation de 1 à 7 automatiquement.

    Sinon voici une explication sur le binding, cela peut t'aider à faire ça aussi.

    Bon dev

Discussions similaires

  1. question sur l'incrémentation automatique
    Par Invité dans le forum Langage SQL
    Réponses: 13
    Dernier message: 27/11/2008, 18h19
  2. [E-03] Problème sur envoi mail automatique
    Par NELAIN dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 03/11/2008, 11h53
  3. Problème sur un champ de type numéro-incrémenté
    Par loic20h28 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 19/01/2008, 09h19
  4. Problème d'incrémentation automatique
    Par ist2008 dans le forum Access
    Réponses: 3
    Dernier message: 19/04/2006, 20h21
  5. Problème d'incrémentation automatique
    Par ist2008 dans le forum Access
    Réponses: 1
    Dernier message: 19/04/2006, 14h30

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