title: Timer Control in .NET Windows Application
body: <p>I have a desktop application running for the below process, currently client had asked a desktop application developed in VB.NET 2010, later the same will need to convert to windows service app</p>
  
  <p>Process is: I have a process of mail check and do certain transaction according to content on every mail.</p>
  
  <p>I have to keep checking if I received any mail and if the mail is received I need to do certain transaction in backend with database. Time taken to do such determined time and is also appreciated by client.</p>
  
  <p>Step of Business Transaction Process as as follows:</p>
  
  <pre><code>1. Get the list of all mail from the mail server and store all mail locally to server
  
  2. There is loop for steps 2.1 to 2.5
  2.1. Start Processing mail content reading
  2.2. Process the mail Content
  2.3. Complete the process
  2.4. Next Mail
  2.5. No Mail come out of the Loop
  </code></pre>
  
  <p>Mail Process time for single mail is around minimum is 10 Seconds to maximum is 12 Seconds</p>
  
  <p>Now the question is the process of new mail check should be automated after X interval for which i planned to use Timer Control.</p>
  
  <pre><code>1) I want to know the actual workflow of timer control.
  2) Is it good to use timer control, if not what can be the best option?
  3) Timer Control should not start the next process before my earlier process is complete.
  </code></pre>