title: Timer.Start() works only on first call?
body: <p>I'm using <code>System.Windows.Forms.Timer</code> to display a transfer file update progress(timeleft, speed ..etc)</p>
  
  <p>and I also use <code>backgroundworker</code> to send the file</p>
  
  <ul>
  <li><code>backgroundWorker1_DoWork</code> calls <code>timer1.Start();</code></li>
  <li><code>backgroundWorker1_RunWorkerCompleted</code> calls <code>timer1.Stop();</code></li>
  </ul>
  
  <p>It works fine only in the first call for  <code>timer1.Strat</code>, but when it called again after <code>timer1.Stop()</code>. It doesn't work.</p>
  
  <pre><code>timer1.Enabled = True; 
  timer1.Interval = 1000;
  private void timer1_Tick(object sender, EventArgs e)
      {
          long speed = sumAll - prevSum;
          prevSum = sumAll;
          labelSpeed.Text = CnvrtUnit(speed) + "/S";
          if (speed &gt; 0)
          {
              totalSeconds++;
              labelTime.Text = FormatRemainingText(TimeSpan.FromSeconds((sizeAll - sumAll) / speed));
              labelTotalTime.Text = FormatRemainingText(TimeSpan.FromSeconds(totalSeconds));
          }
      }
  </code></pre>
  
  <p>What's wrong with it and how do I fix it?</p>