使用win8进度条和定时器的技巧
win8系统中的进度条也需要跟着时代进步的,但是有很多用户们都不知道如何才能更好的使用进度条,那么下面我们就去看看使用win8进度条和定时器的技巧。
进度条
主要属性:
Value:当前进度值。
Maximum:最大进度值。
IsIndeterminate:指定进度条是否确定。
确定进度条:进度明确的进度条,已完成进度以另外一种颜色显示
关键代码:
"100" Value="0" Height="20" Name="probar1" IsIndeterminate="False" Margin="275,167,966,581">
不确定进度条:进度不明确的进度条,不可预知当前进度
关键代码:
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();
}
///
/// 延迟定时器
///
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();
}
///
/// 循环定时器
///
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 下载。效果如下图
关于使用win8进度条和定时器的技巧小编就为大家介绍到这里了,如果你还有很多问题不懂的话可以给爱站小编留言哦!