初学C#时间不长,这两天遇到一个问题没能解决,在网上找了半天没有找到相应的解决方法,不知道有没有哪位高手能帮忙解决?
我需要实现一个功能(以3分钟为例),label1的初始值为180,当点击botton1按钮后,每过一秒钟label1中的数值自动减1,当减到0的时候label1中的数值再次变为180.
请问这样的功能如何实现?

解决方案 »

  1.   

    拖一个计时器,interval 设为 1000, Enabled 设为 false,点击按钮时,启用定时器,像这样:tmr.Start();。在定时器的 Tick 事件中更改 Label, 
    private int seconds = 180; // 这个作为类的私有字段
    ...
    void tmr_Tick(...)
    {
       seconds = (seconds == 0) ? : 180 : seconds - 1;   lbl.Text = seconds.ToString();
    }
      

  2.   

    利用Timer控件,设置timer1的Interval为1000(毫秒),然后在它的Tick事件里写label1.Text = (int.Parse(label1.Text) - 1).ToString();接下来在button1的Click事件里写
    timer1.Enabled=true;
      

  3.   

    private int seconds = 180;
    ...........while(true)
    {
    System.Threading.Thread.Sleep(1000);
    seconds = (seconds == 0)?180: seconds - 1;
    this.label1.Text = seconds.ToString();
    }
      

  4.   

    photoplan()   那 好像 多了个 :
    seconds = (seconds == 0) ? : 180 : seconds - 1;呵呵~