c# winform timer计时器停止并重置计时器,该如何处理

c# winform timer计时器停止并重置计时器

       最近在做一个倒计时的计时器,是用timer控件进行控制的。倒计时的部分是没有问题的,但是现在需要实现点击btn后,停止当前的计时,并且重置计时器为计时的初始状态这项功能。详见代码。
      

      
        private void btn_end_Click(object sender, EventArgs e)
        {
            timer1.Stop();
            timer1.Enabled = false;
            timer1.Dispose();
        }

        long sec = 1800;
        private void timer1_Tick(object sender, EventArgs e)
        {
            
            sec -= 1;
            this.lb_time.Text= new DateTime(sec * 1000000).ToLongTimeString();
            if (sec == 300 )
            {
               
                this.lb_zff.Text  = "最后30秒!";
                
               
                this.axWindowsMediaPlayer1.URL = "D:\\ding.wav";
            }
           
            if (sec == 0)
            {
                timer1.Stop();
                this.lb_zff.Text = "时间到!";
                this.axWindowsMediaPlayer1.URL= "D:\\ling.wav";

            }

              private void btn_start_Click(object sender, EventArgs e)
        {
            if (timer1.Enabled)
            {
                timer1.Stop();
           
            }
            else
            {
                timer1.Start();
            }
        }

      

现在的情况是触发btn_end_Click后计时停止,未重置计时器,触发btn_start_Click后,计时继续。所以想请教如何才能终止计时并重置计时器
------解决方案--------------------
本帖最后由 caozhy 于 2012-10-03 23:22:38 编辑
不要使用timer1.Dispose();
        private void btn_end_Click(object sender, EventArgs e)
        {
            timer1.Stop();
            timer1.Enabled = false;
            sec = 1800;
        }


------解决方案--------------------
 private void btnStar_Click(object sender, EventArgs e)
        {
            if (timer1.Enabled)
            {
                timer1.Stop();
                
            }
            else
            {
                sec = 1800;                timer1.Start();