Silverlight之dispatcherTimer 与 线程

一、创建多线程

<StackPanel x:Name="LayoutRoot" Background="White"> <Border x:Name="border" Background="AliceBlue" Margin="5" BorderBrush="Black" Width="300" BorderThickness="3" CornerRadius="5" /> <StackPanel Orientation="Horizontal" Width="310"> <Button x:Name="btn_star" Width="100" Height="30" Click="btn_star_Click" Margin="10" Content="开始倒计时" /> <Button x:Name="btn_json" Width="100" Click="btn_json_Click" Margin="10" Content="延迟线程" /> </StackPanel> </StackPanel>


C#:

private static TextBlock txb; private Thread newThread; public DispatcherTimerAndThread() { InitializeComponent(); //将文本txb添加到界面上 txb = new TextBlock() { Width = 300, Height = 100, FontSize = 24 }; border.Child = txb; //创建一个线程并执行线程方法 newThread = new Thread(DispatcherTimerAndThread.SetText); } public static void SetText() { int i = 60; while (i > 0) { txb.Dispatcher.BeginInvoke(delegate() { txb.Text = "距离线程结束还有:" + i + "秒"; }); i--; Thread.Sleep(1000); } } private void btn_star_Click(object sender, RoutedEventArgs e) { newThread.Start(); } private void btn_json_Click(object sender, RoutedEventArgs e) { newThread.Join(2000); }


按F5运行:

二、利用DispatcherTimer做一个计时器

<Grid x:Name="LayoutRoot" Background="White"> <Rectangle Fill="Gold" StrokeThickness="3" Width="300" Height="150" Margin="0,20,0,0" Stroke="Black" RadiusX="5" RadiusY="5"> </Rectangle> <TextBlock x:Name="txb_times" Width="300" Height="50" FontSize="30" Foreground="Red"/> </Grid>


C#:

public timer() { InitializeComponent(); //创建DispatcherTimer对象 DispatcherTimer timers = new DispatcherTimer(); //设置间隔时间 timers.Interval = new TimeSpan(0, 0, 1); //创建处理事件 timers.Tick += new EventHandler(timers_Tick); //开始 timers.Start(); } void timers_Tick(object sender, EventArgs e) { //当前时间 txb_times.Text = "当前时间:" + DateTime.Now.ToLongTimeString(); }


按F5运行:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值