none
Silverlight 2 手把手(之五) 编程实现定时器 RRS feed

  • 常规讨论

  • Silverlight 2 手把手(之五) 编程实现定时器
    发布于:2008-07-05 11:36:03 作者:黄继佳 来源:blogs.msdn.com/jijia 访问:19次 文字:

      在 Silverlight 北京站中,我向大家介绍了在 Silverlight 2 中,你可以使用 Storyboard 实现定时器,你也可以通过 code behind ,应用类似桌面端程序的方法实现定时器 (Timer) 的实现。



      下面我就如何通过建立 System.Windows.Threading.DispatcherTimer 对象来实现 Silverlight 2 定时器的方法。



      以下是通过使用 DispatcherTimer 对象,实现的 Silverlight 2 计时器。



    image

     

      1. 首先在场景中置入一个 <TextBlock /> 和一个 <Button />

     

     1: <Canvas x:Name="myCon" Height="300" Width="400" >
     2: <TextBlock x:Name="myText" FontSize="50" Canvas.Left="180" Canvas.Top="40" Text="0"></TextBlock>
     3: </Canvas>
     4: <Button x:Name="myBtn" Height="50" Width="100" MouseLeftButtonDown="myBtn_MouseLeftButtonDown"></Button>


      2. 声明 Dispatcher 对象 myTimer

     

    DispatcherTimer myTimer = new DispatcherTimer();


      3. 在页面加载后声明按钮初始化内容、myTimer 属性

     

     1: myBtn.Content = "start";
     2: myTimer.Interval = new TimeSpan(0, 0, 0, 1);
     3: myTimer.Tick += new EventHandler(myTimer_Tick);
     
     
      4. 声明布尔变量状态机 myState,实现鼠标左键单击事件

     
     1: if (myState)
     2: {
     3: myTimer.Start();
     4: myBtn.Content = "Stop";
     5: }
     6: else
     7: {
     8: myTimer.Stop();
     9: myBtn.Content = "Start";
     10: }
     11: myState = !myState;


       5. 声明 myTimer_Tick 事件

     

     1: int i = 0;
     2:  
     3: void myTimer_Tick(object sender, EventArgs e)
     4: {
     5: myText.Text = i++.ToString();
     6: }


      这个例子的源码你可以从这里下载:



      



      Published 29 April 08 07:00 by jijia
     

    My blog: http://blog.csdn.net/dotfun http://dotfun.cnblogs.com

    My contact: QQ:372900288 E-mail:372900288@qq.com msn:sellnet007@hotmail.com

    2009年3月11日 6:42
    版主