Windows 8技巧:Windows 8 中的三种进度条和两种定时器的使用技巧

  在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();
}</p><p> /// <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();
}</p><p> /// <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));
}

  最后我们来看运行效果图和如需源码请点击Win8Progress_jb51net 下载。效果如下图


IT时代网(关注微信公众号ITtime2000,定时推送,互动有福利惊喜)所有原创文章版权所有,未经授权,转载必究。
创客100创投基金成立于2015年,直通硅谷,专注于TMT领域早期项目投资。LP均来自政府、互联网IT、传媒知名企业和个人。创客100创投基金对IT、通信、互联网、IP等有着自己独特眼光和丰富的资源。决策快、投资快是创客100基金最显著的特点。

相关文章
中芯国际联手国家队斥500亿投建12吋晶圆制造 什么信号?
中芯国际等被美列黑名单 外交部:坚决反对美方无端打压中国企业
中芯国际遭“断粮”背后:芯片产业链加速国产化
被美国列入“黑名单”?中芯国际:未收到此类官方消息

精彩评论