简易摇号器——学习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