这段代码执行结果是:一直显示为:0小时0分,原因是你的time变量定义的位置不对。

解决方案 »

  1.   

    楼上说得没错。再说你的time变量的数据类型也有问题。应该这样:DateTime t1 = DateTime.Now; //取得开始时间//执行某些功能DateTime t1 = DateTime.Now; //取得结束时间TimeSpan t0 = t2 - t1;    //取得时间差//取得时间差的小时数和分钟数(秒数)
    toolLbl_time.Text = t0.Hours.ToString()+" hours "+t0.Minutes.ToString()+" min";还有一种方法:
    TimeSpan ts1 = new TimeSpan(DateTime.Now.Ticks); 
    参见:
    http://hi.baidu.com/%B5%C8%B4%FD%D4%B6%B7%BD/blog/item/73bcbb3d1f2ba80abba16719.html
      

  2.   

    问题出在int time = 0,不应该定义在timer中,这样每执行一次time都会被清0。
    解决建议,可以将time变量提到timer外面
      

  3.   

    问题出在int time = 0,不应该定义在timer中,这样每执行一次time都会被清0。
    解决建议,可以将time变量提到timer外面
      

  4.   

    问题出在int time = 0,不应该定义在timer中,这样每执行一次time都会被清0。
    解决建议,可以将time变量提到timer外面
      

  5.   

    执行后,初始为默认值
    全局变量等
    web session等保存
      

  6.   

    每次执行定时器,time初始为0.
      

  7.   

    补充说明……
    本身计算就有问题,hour值为time/3600 没错,但是Minute值为time/60,这明显是不对的。
    加减乘除不用再教你了吧,自己好好看看吧。
      

  8.   


    每次time都先赋值0,当然不行了。把time放到timer1_Tick()外,用全局变量    public static int time = 0;    private void timer1_Tick(object sender, EventArgs e)
        {
           time = time +1;
        }
      

  9.   


      int time = 0;
      int Hour = time / 3600;
      int Minute = time / 60;
    则  time = 0;
      Hour = 0;
      Minute = 0;
      

  10.   

    应该使用stopwatch ,timer计时是不精确的!
      

  11.   

    把time定义放到外面 就是定义成全局变量
    还有就是你处理一下显示当>1小时时显示  :{0}小时{1}分钟 小于一小时时只显示 分钟和秒 这样效果好点
      

  12.   

    int time = 0;
    int Minute = time / 60;
    以上两句很有问题:
    第一句我不说了,
    第二句:
    if(time/60>=60)
    {
        //m没可能超过60吧
    }
    else
    {}
      

  13.   

    time控件计算不精确,更多的是用来表示桢而且每个单位时间间隔都要计算一次,500个用户每个单位时间就要算500次,占资源太多直接用结束时间-开始时间好了