Well, I think the answer is that they are two completely different types of timers. Windows.Forms.Timer is a single-threaded application timer, well suited for timers existing on a client-running application.
A timer is used to summarize an event at user-defined intervals. This Windows timer is designed for a single-threaded environment where user interface threads are used to perform processing. This requires that the user code has a user interface message pump and always runs from one thread or a call marshal to another thread.
Unlike Timers.Timer , a server timer is used, which is better suited for Windows services.
The Timer component is a server-based timer that allows you to specify the recurring interval in which the Elapsed event was raised in your application. You can then process this event to ensure regular processing. For example, suppose you have a critical server that should run 24 hours a day, 7 days a week. You can create a service that uses a timer to periodically check the server and ensure system availability. If the system does not respond, the service may try to restart the server or notify the administrator.
You can find their documentation and read excerpts and more from Microsoft.
Not that you could never use or always use, serve two different purposes.
source share