vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Top-Preis! AP-Access-Tools-CD Volume 1  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Re: Mehrere zur Laufzeit erzeugte Timer 
Autor: Snoopy
Datum: 29.04.06 01:14

Hallo...

Du erstellst dazu eine Timer Klasse, die ein Tick-Event feuert. Die Klasse initialisierst Du
von deiner Form und installierst ein AddHandler, der das Ereignis verarbeitet.
Die Klasseninstanz schiebst Du dann in eine ArrayList. Ich hab mal was auf die schnelle
gebastelt. Zuerst das Klassenmodul clsTimer:
Public Class clsTimer
 
   Private m_TimerName As String
   Private m_TimerIndex As Integer = 0
   Private WithEvents m_Timer As New Timer
 
   Public Event TimerTick(ByVal sender As clsTimer)
 
   Public Sub New(ByVal nInterval As Integer)
      With m_Timer
         .Interval = nInterval
         .Enabled = True
         .Start()
      End With
   End Sub
 
   Public Sub New(ByVal nInterval As Integer, ByVal TimerName As String)
      Me.New(nInterval)
      m_TimerName = TimerName
   End Sub
 
   Public Sub New(ByVal nInterval As Integer, ByVal TimerIndex As Integer)
      Me.New(nInterval)
      m_TimerIndex = TimerIndex
   End Sub
 
   Private Sub m_Timer_Tick(ByVal sender As Object, ByVal e As _
     System.EventArgs) Handles m_Timer.Tick
      RaiseEvent TimerTick(Me)
   End Sub
 
   Public Property TimerName() As String
      Get
         Return m_TimerName
      End Get
      Set(ByVal value As String)
         m_TimerName = value
      End Set
   End Property
 
   Public Property TimerIndex() As Integer
      Get
         Return m_TimerIndex
      End Get
      Set(ByVal value As Integer)
         m_TimerIndex = value
      End Set
   End Property
End Class
In deiner Form kommt dann das rein:
Public Class Form1
 
   Private TimerList As New ArrayList
 
   Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As _
     System.EventArgs) Handles MyBase.Load
      ' 10 Timer erstellen
      For x As Integer = 0 To 9
 
         ' Neuer Timer mit Interval 1000 * x
         Dim myTimer As New clsTimer(1000 * (x + 1))
 
         ' Timer einen Index zuweisen
         myTimer.TimerIndex = x
 
         ' Timer einen Namen zuweisen
         myTimer.TimerName = "Timer" & x.ToString
 
         ' Ereignis Handler installieren
         AddHandler myTimer.TimerTick, AddressOf TimerEvent
 
         ' Timer in ArrayList schieben
         TimerList.Add(myTimer)
      Next
   End Sub
 
   ' Ereignis Handler des Timers aus der ArrayList
   Private Sub TimerEvent(ByVal sender As clsTimer)
      Debug.Print("Timer Ereignis von " & sender.TimerName)
   End Sub
End Class
Viel Spass damit...

Gruß

Gru?
---------------------------------------------------
Snoopy sagt - vb@rchiv find ich gut...
Schon gesehen? OSMMapViewer V2 Control

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Mehrere zur Laufzeit erzeugte Timer4.657DoubleH28.04.06 21:36
Re: Mehrere zur Laufzeit erzeugte Timer2.161OldMan29.04.06 00:03
Re: Mehrere zur Laufzeit erzeugte Timer2.806Snoopy29.04.06 01:14
Re: Mehrere zur Laufzeit erzeugte Timer2.138Silver29.04.06 01:54
Re: Mehrere zur Laufzeit erzeugte Timer1.864DoubleH29.04.06 12:52
Re: Mehrere zur Laufzeit erzeugte Timer1.876DoubleH05.05.06 12:33

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel