Silverlight(25) - 2.0线程之Thread, Timer, BackgroundWorker, ThreadPool
2008-12-31 11:53:47 来源:WEB开发网2、Timer.xaml
<UserControl x:Class="Silverlight20.Thread.Timer"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<StackPanel HorizontalAlignment="Left" Margin="5">
<TextBlock x:Name="txtMsg" />
</StackPanel>
</UserControl>
Timer.xaml.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
namespace Silverlight20.Thread
{
public partial class Timer : UserControl
{
System.Threading.SynchronizationContext _syncContext;
// Timer - 用于以指定的时间间隔执行指定的方法的类
System.Threading.Timer _timer;
private int _flag = 0;
public Timer()
{
InitializeComponent();
// UI 线程
_syncContext = System.Threading.SynchronizationContext.Current;
Demo();
}
void Demo()
{
// 输出当前时间
txtMsg.Text = DateTime.Now.ToString() + "rn";
// 第一个参数:定时器需要调用的方法
// 第二个参数:传给需要调用的方法的参数
// 第三个参数:此时间后启动定时器
// 第四个参数:调用指定方法的间隔时间(System.Threading.Timeout.Infinite 为无穷大)
_timer = new System.Threading.Timer(MyTimerCallback, "webabcd", 3000, 1000);
}
private void MyTimerCallback(object state)
{
string result = string.Format("{0} - {1}rn", DateTime.Now.ToString(), (string)state);
// 调用 UI 线程。不会做自动线程同步
_syncContext.Post(delegate { txtMsg.Text += result; }, null);
_flag++;
if (_flag == 5)
_timer.Change(5000, 500); // 执行5次后,计时器重置为5秒后启动,每5毫秒的间隔时间执行一次指定的方法
else if (_flag == 10)
_timer.Dispose(); // 执行10次后,释放计时器所使用的全部资源
}
}
}
Tags:Silverlight 线程 Thread
编辑录入:爽爽 [复制链接] [打 印]- ››silverlight全屏显示图片
- ››Silverlight MVVM 模式(一) 切近实战
- ››Silverlight for Windows Phone 7开发系列(1):...
- ››Silverlight for Windows Phone 7开发系列(2):...
- ››Silverlight for Windows Phone 7开发系列(3):...
- ››Silverlight for Windows Phone 7开发系列(4):...
- ››Silverlight for Symbian
- ››Silverlight3系列(四)数据绑定 Data Binding 1
- ››线程状态图
- ››silverlight2 游戏 1 你能坚持多少秒
- ››Silverlight开发实践--PicZoomShow
- ››Silverlight自定义控件开发 - 令人懊恼的OnApplyT...
更多精彩
赞助商链接