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

VB.NET Discussion :

Un handle pour plusieurs timers


Sujet :

VB.NET

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2010
    Messages : 26
    Points : 27
    Points
    27
    Par défaut Un handle pour plusieurs timers
    Bonjour,

    Je cherche à avoir un seul handle pour plusieurs timers.

    Voici une petite idée de ce que j'essaye de faire:

    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
     
    Dim TimersCollection As New Collection
    Dim WithEvents TimerInstance As System.Timers.Timer
     
    Private sub CreateTimers(ByVal Number As Integer)
    <div style="margin-left:40px">
    Dim i As Integer
    For i=1 To Number
    <div style="margin-left:40px">
    TimerInstance = New Timer
    Timer.Interval=i*1000
    AddHandler TimerInstance.Elapsed, AddressOf UpdateValue
    TimersCollection.Add(TimerInstance)</div>Next</div>End Sub
     
    Private Sub UpdateValue(ByVal Sender As Object, ByVal e As System.Timers.ElapsedEventArgs)
     
    'J'aimerais bien connaitre l'intervalle du timer qui a déclenché l'évènement'
     
    End Sub
    Ma première question est de savoir ce qu'il va se passer quand plusieurs évènements ElapsedEvent seront déclenchés en même temps, vu que c'est le même handler? Y aura-t-il des conflits ou c'est chacun son tour?

    Ma seconde question est:
    Comment connaitre l'intervalle de temps du timer qui a déclenché l'évènement dans le handle??

    Merci

  2. #2
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 177
    Points : 25 125
    Points
    25 125
    Par défaut
    les windows.forms.timer se déclenchent sur le thread principal, donc ils sont sur une pile et tant qu'un est en traitement les autres attendent donc pas de soucis

    les system.timers.timer sont chacun sur un thread différent (et ne bloquent donc pas le thread principal qui rafraichit l'interface)
    donc ils peuvent potentiellement passer tous en meme temps dans la sub, mais ca ne pose pas forcément de soucis

    dans l'event, sender contient le timer qui déclenche
    donc directcast(sender, timer).interval te donnera l'interval
    ou encore
    if directcast(sender,timer) = timermachin then je sais que c'est celui là

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2010
    Messages : 26
    Points : 27
    Points
    27
    Par défaut
    Parfait,

    Un tout grand merci!!!

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

Discussions similaires

  1. trigger delete pour plusieurs lignes
    Par Shabata dans le forum Langage SQL
    Réponses: 6
    Dernier message: 30/09/2009, 01h00
  2. Handles pour plusieurs objet
    Par Ornitho76 dans le forum VB.NET
    Réponses: 1
    Dernier message: 17/12/2008, 16h03
  3. [C#] Une seule méthode pour plusieurs composants
    Par niPrM dans le forum Windows Forms
    Réponses: 8
    Dernier message: 01/06/2004, 14h41
  4. Economie de mémoire pour plusieur images avec la même source
    Par neness dans le forum Composants VCL
    Réponses: 5
    Dernier message: 18/01/2004, 10h56
  5. Réponses: 4
    Dernier message: 06/11/2003, 10h37

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