none
自定义一个可以类似messagebox.show提示窗口,能提供倒计时关闭功能,那么如何使控件的content属性怎么实时显示倒计时的时间? RRS feed

  • 问题

  • 自定义一个可以类似messagebox.show提示窗口,能提供倒计时关闭功能,那么如何使控件的content属性怎么实时显示倒计时的时间?

    比如一个Button,假设倒计时开始是10秒,Button的content上显示“确定(10)”,过一秒后显示"确定(9)"……之类。

    使用System.Timers.Timer这个类。如何实时更新Timer对象内记录的时间?


    2017年4月3日 7:32

答案


  • Hi 便携式家园,

    请参考下面的例子。使用DispatcherTimer来实现。

            public dingshiqishowbox()
            {
                InitializeComponent();
                dt_Tick();
            }
    
            public void dt_Tick()
            {
                   DispatcherTimer _timer = new DispatcherTimer();
                   TimeSpan _time = new TimeSpan();
                   _time = TimeSpan.FromSeconds(30);
                   _timer = new DispatcherTimer(new TimeSpan(0, 0, 1), DispatcherPriority.Normal, delegate
                   {
                       button.Content ="还有 "+ _time.ToString("c")+"秒 关闭!";
                       if (_time == TimeSpan.Zero) _timer.Stop();
                       _time = _time.Add(TimeSpan.FromSeconds(-1));
                   }, Application.Current.Dispatcher);
                   _timer.Start();
            }

    Best Regards,

    Yohann Lu


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2017年4月4日 1:52
    版主