Créer dynamiquement des composant Timer et leur associer l'évenement Tick

Signaler
Messages postés
4
Date d'inscription
lundi 7 juin 2010
Statut
Membre
Dernière intervention
25 juin 2010
-
Messages postés
4
Date d'inscription
lundi 7 juin 2010
Statut
Membre
Dernière intervention
25 juin 2010
-
Bonsoir,
j'aimerai une petite explication sur la création dynamique de composant et l'association d'un évènement
Particulièrement pour le composant Timer
Je souhaite gérer X composant Timer
Mon projet consiste a relever tous les X temp des donnée pour X configuration
Et donc je dois être capable de lancer X Timer

Merci

5 réponses

Messages postés
380
Date d'inscription
samedi 22 janvier 2005
Statut
Membre
Dernière intervention
13 août 2011
7
salut oui tu peux , y'a pas de restriction
class Multitimer
{
public Timer[] colTimer = new Timer[10];
for(int i = 0; i < 10; i++)
{
colTimer[i] = new Timer();
colTimer[i].Ticks += ...................
}
}
Messages postés
4
Date d'inscription
lundi 7 juin 2010
Statut
Membre
Dernière intervention
25 juin 2010

merci, en fin de journée j'ai réfléchit a la boucle for maintenant comment creér dynaiquement chaque évènement?
Messages postés
4
Date d'inscription
lundi 7 juin 2010
Statut
Membre
Dernière intervention
25 juin 2010

la question est comment récupérer le bonne évènement tick de chaque timer
Messages postés
1860
Date d'inscription
lundi 28 novembre 2005
Statut
Modérateur
Dernière intervention
14 février 2015
44
Salut

En gros, tu associes à tous tes timers le même événement, et dans cette méthode, tu peux ensuite différencier le timer d'appel :

class Multitimer
{
    public Timer[] colTimer = new Timer[10];
    public void init()
    {
        for(int i = 0; i < 10; i++)
        {
            colTimer[i] = new Timer();
            colTimer[i].Tick += new EventHandler(Timer_Tick);
        }
    }
    void Timer_Tick(object sender, EventArgs e)
    {
        // sender correspond à ton timer
        Timer timerAppelant = (Timer)sender;

        // Et si, par exemple, tu veux connaître l'indice correspondant
        int i;
        for (i = 0; i < 10 && timerAppelant != colTimer[i]; i++) ;
        if (i != 10)
        {
            // Là, i correspond à l'indice tu Timer appelant dans le tableau.
        }
    }
}


Krimog : while (!(succeed = try())) ;
- Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé. -
Messages postés
4
Date d'inscription
lundi 7 juin 2010
Statut
Membre
Dernière intervention
25 juin 2010

merci sa fonctionne impec !