How can I have a WinForms program do some **specific thing** whenever a certain time-based condition is met?

I was thinking I could do something with two threads, where one thread runs the normal program, and the other thread merely loops through checking if the time-based condition is true yet or not, and when the condition is true it signals an event. 

However I am unsure of the best way to do it. Where in the program would I call the two threads? Maybe I am thinking about it all wrong? 

How would you do this?

**MORE INFO:**
What it has to do is check the data.dat file and see when the last time it was updated was. If it was a month or more then do the **specific thing**. Could this still be done with a Timer?

**NOTE:**
I think it might be useful to note the difference between the System.Timers and the System.Windows.Forms.Timer...