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 pour rafraichir des objets a des temps différents


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2002
    Messages : 5
    Par défaut Problème pour rafraichir des objets a des temps différents
    Bonjour,

    J'ai quelques difficultés avec un simple Timer et...j'ai honte
    J'ai une liste generics d'objet que j'aimerai actualiser de façon différentes
    Par exemple objet 1,2 toutes les minutes et objet 3 toutes les 5 minutes (via un attribut contenu dans l'objet).

    J'essaie d'utiliser un Timer mais je ne sais pas trop comment m'y prendre:
    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
     
    //a rafraichir toutes les minutes:
    MonObjet objet1=new MonObjet();   //contenant objet1.interval=1000;
    MonObjet objet2=new MonObjet();
     
    //a rafraichir toutes les 5 minutes:
    MonObjet objet3=new MonObjet();   //objet3.interval=5000;
    ....
     
    //J'ajoute mes objets dans une liste generics:
    ListeObjets.Add(objet1);
    ...
     
    //Je crée mon Timer:
    timer1.Interval = 1000;
    timer1.Tick+=new EventHandler(timer1_Tick);
    timer1.Enabled = true;
     
    private void timer1_Tick(object sender, EventArgs e)
    {
       foreach (Objet obj in ListeObjets)
       {
           MamethodeRefresh(obj);
       }
     
    }
    Je ne sais pas comment faire dans mon evenement timer1_tick pour faire l'action en fonction de mon "obj.interval".

    Merci d'avance pour votre petit coup de pied

  2. #2
    Membre Expert Avatar de Mose
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 143
    Par défaut
    Bon, on va rester calme, on va respirer, et on va tester son code oki ?

    Quand tu lances, ça fait quoi ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2002
    Messages : 5
    Par défaut
    En fait ici mon problème c'est qu'il exécute la méthode toutes les x milli secondes en fonction de l'interval du timer et donc qu'il rafraichit tout mes objets.
    Je ne sais pas trop comment faire pour que ma méthode s'éxécute par exemple toutes les 5 secondes pour un objet (si obj.interval==5) et toutes les 10 secondes pour un autre objet (si obj.interval==10).
    Dans chaque objet, j'ai une propriété qui stocke ces secondes mais je ne sais pas trop comment faire avec le timer.

  4. #4
    Membre expérimenté Avatar de scifire
    Inscrit en
    Juillet 2004
    Messages
    226
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 226
    Par défaut
    Tu dois avoir encore un property dans MonObjet. Par exemple objet1.interval2 qui va stocke le temps qui reste pour la prochaine refresh. Alors il ne reste qu'a faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
            private void timer1_Tick(object sender, EventArgs e)
            {
                foreach (Objet obj in ListeObjets)
                {
                    obj.interval2 -= 1000;
                    if (obj.interval2 == 0)
                    {
                        MamethodeRefresh(obj);
     
                        obj.interval2 = obj.interval;
                    }
                }
            }

  5. #5
    Membre éclairé Avatar de Monstros Velu
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2003
    Messages
    619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 619
    Par défaut
    Vu que le rafrichissement depends de l'objet, et non pas de la liste d'obets, je pense qu'il faudrait intégrer les rafraichissements directement dans l'objets, en lui mettant un attribut interval2 comme tu fais déjà, et des fonctions membres StartRefresh() et éventuellement StopRefresh() pour chaque objet ?

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

Discussions similaires

  1. Problème pour lire le premier caractère des cellules
    Par Runsh63 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/04/2011, 09h01
  2. Problème pour accéder à Sql Server depuis des postes en réseaux
    Par joefou dans le forum Accès aux données
    Réponses: 5
    Dernier message: 18/02/2010, 12h03
  3. Réponses: 3
    Dernier message: 31/03/2008, 15h13
  4. Réponses: 2
    Dernier message: 03/04/2007, 09h28
  5. Réponses: 2
    Dernier message: 06/01/2007, 20h45

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