Bitte kennzeichne Code, das liest sich leichter: Dazu kannst Du Deinen ersten Beitrag editieren (klicke auf den Button), markiere den Textbereich mit Code, klicke auf "Bereiche" und dann auf das Plus-Zeichen neben C#.
Dein Problem liegt wahrscheinlich nur an der Test-Phase. Dein 2. Timer ist so eingestellt, dass er immer die MessageBox öffnet. Wenn er nun auf den Standardwert 100 ms eingestellt, öffnet sich 10x pro Sekunde die MessageBox; so schnell kannst Du sie gar nicht wegdrücken. Vorschlag: Deaktiviere zunächst den Timer:
C#-Quelltext
1: 2:
| timer2.Enabled = false; MessageBox.Show("test"); |
Überleg Dir auch einmal, wozu Du eigentlich zwei Timer brauchst. Du willst mit dem ersten Timer abfragen, ob die Alarm-Zeit erreicht bzw. überschritten ist. Wenn das so ist, willst Du die LED einschalten; dann leuchtet sie doch, wozu soll das alle 100 ms wiederholt werden?
Zusätzlicher Hinweis: Du kannst Zeitangaben direkt vergleichen und brauchst dazu keine Klimmzüge:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7:
| private void timer1_Tick(object sender, EventArgs e) { if (dateTimePicker2.Value <= DateTime.Now) { timer1.Enabled = false; } } |
Gruß Jürgen