简易摇号器——学习WindowsPhone上的Timer

C#中有三种常用的Timer,分别是

1.System.Windows.Forms.Timer

2.System.Threading.Timer

3.System.Timers.Timer

而在WindowsPhone中,这三种Timer都是不可用的。

遂Google了下,在WindowsPhone中有一个DispatcherTimer类(MSDN介绍:http://msdn.microsoft.com/zh-cn/library/system.windows.threading.dispatchertimer(v=vs.95).aspx)

虽然DispatcherTimer类比较简陋,但是足以让我们完成这个摇号器了。

首先布局很简单

<TextBlock Height="300" Width="300" Margin="76,24,80,283" Name="block" FontSize="120"/>
<Button Height="72" Width="200" Content="摇一摇" Margin="130,346,126,189" Click="Button_Click" Name="Start"/>

 

C#文件中要添加对System.Windows.Threading的引用

using System;
using System.Net;
using System.Windows;
using Microsoft.Phone.Controls;
using System.Windows.Threading;//添加引用

namespace Timer
{
    public partial class MainPage : PhoneApplicationPage
    {
        // 构造函数
        public MainPage()
        {
            InitializeComponent();
        }
        //定义DispatcherTimer的实例
        DispatcherTimer dt = new DispatcherTimer();

        private void Button_Click(object sender, RoutedEventArgs e)
        {
            //判断dt的运行状态
            if (dt.IsEnabled)
            {
                dt.Stop();
            }
            else
            {
                dt.Interval = TimeSpan.FromSeconds(0.1);//设置dt的间隔时间,此处为0.1秒
                dt.Tick += OnTimerTick;//调用OnTimerTick方法
                dt.Start();
            }
        }
        void OnTimerTick(Object sender, EventArgs args)
        {
            var ram = new Random();
            int r = ram.Next(1, 100);//产生1~100的随机数
            block.Text = r.ToString();
        }
    }
}

至此简易的摇号器就完成了。

源代码下载

http://pan.baidu.com/share/link?shareid=382634&uk=2600564712

 

posted @ 2013-02-21 23:37  CimiChen  阅读(300)  评论(0编辑  收藏  举报