WEB开发网
开发学院图形图像Flash Silverlight 2 手把手(之五) 编程实现定时器 阅读

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

 2008-10-24 11:45:58 来源:WEB开发网   
核心提示:本文示例源代码或素材下载 在 Silverlight 北京站中,我向大家介绍了在 Silverlight 2 中,Silverlight 2 手把手(之五) 编程实现定时器,你可以使用 Storyboard 实现定时器,你也可以通过 code behind ,以下是通过使用 DispatcherTimer 对象

本文示例源代码或素材下载

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

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

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

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

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: }

Tags:Silverlight 手把手 编程

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接