Do yourself a big favor and do not use any kind of timers for this purpose — stay away of trouble!
Instead, always create and use a processing thread. Even in the case you need to do the polling as you do (which is bad by itself but you probably cannot change the architecture, but — see below), you can use
Thread.Sleep
in this thread in a loop to implement periodic data processing. This schema is stable, the one based on a timer is not. (Did you try to design correct handling of the situation, when a new timer event is fired when the handler triggered by the previous event is not yet finished? With a thread you won't have such problems).
To see, what's involved, look at my collection of my past answers on similar topics:
How to get a keydown event to operate on a different thread in vb.net[
^].
Maybe you still can avoid polling of the file structure. Use the class
System.IO.FileSystemWatcher
; it will notify to any changes in file structure you subscribe to.
—SA