zoukankan      html  css  js  c++  java
  • Silverlight 2 has a Timer (DispatcherTimer)

    Silverlight 2以前的版本里中有很多不同的方法来模拟Timer.其中最流行的方法就是用StoryBoard来完成.在结束时不停的调用自己.

    例如:

    public partial class Timer : UserControl
    {
        
    public delegate void TimerFiredHandler();

        
    public event TimerFiredHandler TimerFired;

        
    public Timer()
        {
            InitializeComponent();
            TimeUnit.Completed 
    += new EventHandler(TimeUnit_Completed);
        }
        
        
    void TimeUnit_Completed(object sender, EventArgs e)
        {
            TimeUnit.Begin();
            
    if (TimerFired != null)
                TimerFired();
        }

        
    public void StartTimer()
        {
            TimeUnit.Begin();
        }
    }

    客户端这样调用:

    Timer t = new Timer();

    Container.Children.Add(t);

    t.TimerFired 
    += new Timer.TimerFiredHandler(t_TimerFired);

    t.StartTimer();


    void t_TimerFired()
    {
        
    // Do Stuff here.
    }

    现在可以使用DispatcherTimer:

    System.Windows.Threading.DispatcherTimer dt = new System.Windows.Threading.DispatcherTimer();
    dt.Interval 
    = new TimeSpan(0000500); // 500 Milliseconds
    dt.Tick += new EventHandler(dt_Tick);
    dt.Start();

    void dt_Tick(object sender, EventArgs e)
    {
        
    // Do Stuff here.
    }

    原文:http://pagebrooks.com/archive/2008/03/07/silverlight-2-has-a-timer-dispatchertimer.aspx
  • 相关阅读:
    CVS 快速入门指南
    我的博客皮肤
    OOP三个基本特征
    vi 操作
    智者能堪破这世界的定数,但没人能逃脱劫数
    技术路径的四阶段
    python每日学习2018/1/14(python之禅)
    python每日学习2018/1/11
    Python PyInstaller安装和使用教程(详解版)
    Windows环境下安装MinGW/gcc
  • 原文地址:https://www.cnblogs.com/nasa/p/1101684.html
Copyright © 2011-2022 走看看