WPF计时器

简介: WPF计时器
<StackPanel Orientation="Horizontal" Height="40" >
      <TextBox Width="200" Height="30" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" Text="00:00:00" Name="Text111" FontSize="26"/>
      <Button Width="150" Height="30" Margin="5,0" Click="Button_Click" FontSize="24">开始</Button>
      <Button Width="150" Height="30" Margin="5,0"  FontSize="24" Click="Button_Click_2">暂停</Button>
      <Button Width="150" Height="30" Margin="5,0"  FontSize="24" Click="Button_Click_1">停止</Button>                
</StackPanel>
public partial class MainWindow : Window
    {
        enum State
        {
            Start, Pause, End
        }      
        //状态
        State _state=State.End;
        //计时
        TimeSpan _timeSpan=new TimeSpan(0,0,0,0);
        public MainWindow()
        {
            InitializeComponent();
            var t = new DispatcherTimer();
            t.Interval = new TimeSpan(0, 0, 0, 1);
            t.Tick += OnTimer;
            t.IsEnabled = true;
            t.Start();     
        }
        //时钟回调
        void OnTimer(object sender,EventArgs e)
        {
            switch(_state)
            {
                case State.Start:
                    {
                        _timeSpan += new TimeSpan(0, 0, 0, 1);
                    }
                    break;
                case State.Pause:
                    {
                    }
                     break;
                case State.End:
                    {
                        _timeSpan = new TimeSpan();
                    }
                    break;
            }
            var time = string.Format("{0:D2}:{1:D2}:{2:D2}", _timeSpan.Hours, _timeSpan.Minutes, _timeSpan.Seconds);
            Text111.Text = time;
        }
        //停止
        private void Button_Click_1(object sender, RoutedEventArgs e)
        {
            _state = State.End;
        }
        //开始
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            _state = State.Start;
        }
        private void Button_Click_2(object sender, RoutedEventArgs e)
        {
            _state = State.Pause;
        }
    }


目录
相关文章
|
API C# UED
wpf的PixelLab.Wpf切换效果
wpf的PixelLab.Wpf切换效果
107 0
C# WPF定时器
最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来。我们都知道计算机技术发展日新月异,速度惊人的快,你我稍不留神,就会被慢慢淘汰!因此:每日不间断的学习是避免被淘汰的不二法宝。
1902 0
|
C# 前端开发
WPF之动画
原文:WPF之动画 线性关键帧、不连续关键帧动画: ...
655 0
|
C#
WPF 窗口
原文:WPF 窗口 在WPF中,经常需要对窗口进行设置,下面讲讲常用的几个设置。 窗口样式 1、无边框窗口 无边框透明窗体 设置 WindowStyle="None"--无边框,如果需要其它按钮,如缩小、放大、收缩、关闭按钮,可以自定义 AllowsTransparency="True"-...
751 0
|
C#
WPF的Timer控件的使用
原文:WPF的Timer控件的使用 通过System.Threaing.Timer控件来实现“初始加载页面时为DataGrid的模版列赋初始值” System.Threaing.Timer的用法: 步骤1: //声明定时器 System.
1155 0
|
C#
WPF中的动画
原文:WPF中的动画                                                               WPF中的动画                                                                                  周银辉动画无疑是WPF中最吸引人的特色之一,其可以像Flash一样平滑地播放并与程序逻辑进行很好的交互。
869 0
|
C# 前端开发
WPF动画
原文:WPF动画 1、基本动画。 WPF提供了一个更高级的模型,通过该模型可以只关注动画的定义,而不考虑它们的渲染方式,这个模型基于依赖项属性基础架构,本质上,WPF动画只不过是在一段时间间隔内修改依赖项属性值的一种方式。
1779 0
|
C#
WPF 事件触发命令
原文:WPF 事件触发命令 方法一使用mvvmlight: xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.
1594 0
|
C# API
WPF关闭应用汇总
原文:WPF关闭应用汇总 就本人而言,C#中关闭应用主要有以下途径: 1.Close():关闭当前窗口,可以在OnClosing和 OnClosed中捕获消息,在OnClosing的时候,可以取消关闭窗口 2.
1205 0
|
C#
通过数据绑定控制WPF动画启动,WPF动画开始
原文:通过数据绑定控制WPF动画启动,WPF动画开始 1.主要代码: ...
1563 0

热门文章

最新文章