Forum: PC-Programmierung C# Timer arbeiten nicht


von Pala (Gast)


Lesenswert?

es ist spät abends und ich finde den Logikfehler nichtr. hatte 
zwischendurch die Timer laufen, aber kriege es nicht mehr hi´n. bitte 
helfen
1
    public partial class Test_läuft : Form
2
    {
3
        Abfrage_Detonation Abfr = new Abfrage_Detonation();
4
        private TimeSpan TimeLeft;
5
        public Test_läuft()
6
        {
7
            InitializeComponent();
8
            if (GlobaleVariablen.Timer_Start == true)
9
            {
10
                timer1.Start();  // ruft Abfrage_Detonation auf
11
                timer2.Start();  // für Countdown
12
                // das Ganze ließe sich auch mittels eines Timers umsetzen, soll hier der Übersichtlichkeit dienen
13
            }
14
15
            // Augabe für Countdown
16
            TimeLeft = new TimeSpan(0, 0, 10);
17
            lblTimer2.Text = TimeLeft.ToString(@"hh\:mm\:ss");
18
        }
19
20
        private void timer1_Tick(object sender, EventArgs e)
21
        {
22
            Abfr.ShowDialog();
23
        }
24
25
        private void timer2_Tick(object sender, EventArgs e)
26
        {
27
            TimeLeft = TimeLeft.Subtract(TimeSpan.FromSeconds(1));
28
            lblTimer2.Text = TimeLeft.ToString(@"hh\:mm\:ss");
29
30
            if (TimeLeft.TotalSeconds <=0)
31
            {
32
                timer1.Stop();
33
                timer2.Stop();
34
            }
35
        }
36
    }
37
}

von Pala (Gast)


Lesenswert?

niemand?

von Miro V. (miro_v)


Lesenswert?

Pala schrieb:
> niemand?

Zunächst stelle ich mir die Frage, ob Umlaute in Klassennamen möglich 
und erlaubt sind? Habe schon lange nicht mehr mit C# programmiert, aber 
das würde ich so oder so ändern. Umlaute sind uncool.

Weiterhin wäre die Frage: Welchen Fehler wirft der compiler?

von Pala (Gast)


Lesenswert?

Miro V. schrieb:
> Umlaute sind uncool.

hast du recht, war aber bis jetzt kein Problem. Compiler gibt keine 
Fehlermeldung aus.

von Pala (Gast)


Lesenswert?

hab den Fehler gefunden, danke!

von Miro V. (miro_v)


Lesenswert?

Pala schrieb:
> Miro V. schrieb:
>> Umlaute sind uncool.
>
> hast du recht, war aber bis jetzt kein Problem. Compiler gibt keine
> Fehlermeldung aus.

Normalerweise sieht das mit den Timern so aus:

Timer t1 = new Timer(); // Timer anlegen
t1.Interval = 100; // Intervall festlegen, hier 100 ms
t1.Tick+=new EventHandler(t1_Tick); // Eventhandler ezeugen der beim 
Timerablauf aufgerufen wird
t1.Start(); // Timer starten

In deinem Code fehlt also erstens das setzen des Intervals und zweitens 
die Zuweisung des EventHandlers für die Methode *.Tick. Also entweder 
hast du uns nicht den ganzen Quellcode gezeigt oder aber schlichtweg 
beides einfach vergessen?

von wer (Gast)


Lesenswert?

Pala schrieb:
> hab den Fehler gefunden, danke!

Fragen in Foren hinterlassen und die Antwort nicht zu posten, wenn man 
selbst drauf gekommen ist, ist unsozial.

von Miro V. (miro_v)


Lesenswert?

Pala schrieb:
> hab den Fehler gefunden, danke!

Lösung?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.