Timer not detecting when input matches DateTime.Now

Total Post:149


 1380  View(s)
Rate this:

I have a timer on my form with an interval of 1000 (1 second). I am allowing the user to input a time via three comboboxes. The time they input is then converted to the DateTime format. Finally, the timer checks every tick if the input time equals DateTime.Now. The problem is that it's not working.

Say I set the alarm to 9:00:00 PM when it's 8:59:50 PM. I click Start and wait ten seconds for the alarm to go off, but it never does. When debugging the code, both numbers are the same, meaning that it should fire, but it doesn't.

Here's my code:

private void tmrAlarm_Tick(object sender, EventArgs e) {
    DateTime alarmTime = Convert.ToDateTime(statusAlarm.Text); // say statusAlarm.Text is 9:00:00 PM
    if(alarmTime == DateTime.Now) {

  1. Re: Timer not detecting when input matches DateTime.Now

    Hi Royce,

    You could also use

    DateTime.Now.ToShortTimeString() method for checking equality

      Modified On Apr-04-2018 12:50:28 AM


Please check, If you want to make this post sponsored

You are not a Sponsored Member. Click Here to Subscribe the Membership.