Welcome

首页 / 软件开发 / C# / Windows 8开发入门(七) Windows 8 中的三种进度条和两种定时器

Windows 8开发入门(七) Windows 8 中的三种进度条和两种定时器2013-12-02 博客园 程兴亮在Windows 8中的默认进度条也与时俱进,和之前Silverlight中的不一样。本文将讲述三种不同的进度条 ,另外在本文中也会将两种定时器。

进度条

主要属性:

Value:当前进度值。

Maximum:最大进度值。

IsIndeterminate:指定进度条是否确定。

确定进度条:进度明 确的进度条,已完成进度以另外一种颜色显示

关键代码:

<ProgressBar Maximum="100" Value="0"Height="20" Name="probar1"
 IsIndeterminate="False" Margin="275,167,966,581"></ProgressBar>
不确定进度条:进 度不明确的进度条,不可预知当前进度

关键代码:

 <ProgressBar IsIndeterminate="True" Width="80" Height="10" Margin="600,167,566,591"/>
不确定进度环 :进度不明确的进度环,不可预知当前进度

关键代码:

<ProgressRing IsActive="True" Height="58" Margin="1000,167,299,543" Width="67"/>
定时器

延迟 定时器:只运行一次,延迟X毫秒运行的定时器。

关键代码:

private void Button_Click_1(object sender, RoutedEventArgs e) { DelayTimer(); }/// <summary> /// 延迟定时器 /// </summary> private void DelayTimer() { //设置延迟定时器 ThreadPoolTimer tptimer = ThreadPoolTimer.CreateTimer(async (timer) => { await Dispatcher.RunAsync( CoreDispatcherPriority.High, () => { this.probar1.Value += 20; }); }, TimeSpan.FromMilliseconds(3000)); }
循环定时器:循环运行N次,每次延迟X毫秒的定时器。

关键代码:

private void Button_Click_2(object sender, RoutedEventArgs e) { PeriodicTimer(); }/// <summary> /// 循环定时器 /// </summary> private void PeriodicTimer() { //循环定时器 ThreadPoolTimer tptimer = ThreadPoolTimer.CreatePeriodicTimer( async (timer) => { await Dispatcher.RunAsync( CoreDispatcherPriority.High, () => { this.probar1.Value = this.probar1.Value + 1; }); }, TimeSpan.FromMilliseconds(100)); }
最后我们来看运行效果图和如需源码请下载: http://files.cnblogs.com/chengxingliang/Win8Progress.rar