Timer im Timer

binderj1

Grünschnabel
Hallo
Wie kann ich es schaffen, wenn Timer1 alle 10sec. ein Ereignis startet, innerhalb der 10sec. von Timer1 der Timer2 eine zweite Handlung 100mal startet?

gruss
Hannes
 
Oh Gott. Das letzte mal das ich in VB6 mit Timer gearbeitet habe ist etwa 10 Jahre her.
Gut. Du hast ja das Timer-Control und ein Timer-Event der ausgelöst wird, wenn der Timer abgelaufen ist.
Theoretisch sollten beide Timer unabhängig voneinander laufen (also Parallel). Habe die 2 Timer einen Zusammenhang? Oder können einfach beide Timer parallel laufen?
 
Frage: Wenn du 10 mal pro Sekunde etwas auslösen willst, wieso verwendest du nicht einfach nur einen Timer, den du alle 100ms auslöst? Die 100er-Anzahl könntest du über eine Static-Variable mitzählen lassen.


Der Doc!
 
Die Grundidee ist folgende
der Timer1 läut eine bestimmte Zeit (frei Wählbar zwischen 10sec. und 10min.), und der Zeitverlauf soll in einem Prograssbar angezeigt werden.

P.s. ich verwende VB2005express

Gruss
hannes
 
Verwende doch einfach nur einen Timer. Bei jedem Event aktualisierst du die ProgressBar, und wenn diese bei 100% angekommen ist, dann führst du die Hauptmethode aus.
 
war zu faul alle Antworten zu lesen.
Aber, verwende niemals mehr als einen Timer, es könnte sein das ein Rechner, bzw seine CPU auf den dein Programm irgendwann mal laufen soll nur einen hat. Dann bekommst du schwirigkeiten.

du willst alle 100 ms ein Ereigniss habe und alle 10 s.

10 s sind 100 * 100 ms.
du konfigurierst dir deinen Timer auf 100 ms, und schreibst hier die Ereigniss rein die du alle 100 ms ausführen willst.
Zusätzlich erschafst du dir eine globale Variable (int). Diese Variable lässt du bei jeden Timer durchlauf, also alle 100 ms um einen höher zählen.
Nun musst du nur noch im Timer aufruf eine abfrage machen, ob der Zähler größer oder gleich 100 ist, wenn dies zutrift soll er den Zähler auf 0 zurück setzen und dein Ereignis das nur alle 10 s geschehen soll ausführen.
 
genau so wie FJK sagt , hab ich's gemacht.

Code:
Public Class Form1

    Dim a As Int16 = 1000
    Dim b, c As Integer


    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        Label1.Visible = False
        Label1.Text = "hallo"

        c = c + 1
        Label2.Text = Str$(c)
        ProgressBar1.Value = c
        If c = 100 Then
            Label1.Visible = True
            c = 0
        End If

    End Sub
End Class
 

Neue Beiträge

Zurück