zoukankan      html  css  js  c++  java
  • Windows 8实用窍门系列:7.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();
            }
    
            /// <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));
            }

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

  • 相关阅读:
    【Oracle】权限
    【Oracle】利用trace文件重建控制文件
    【Oracle】创建概要文件
    【Oracle】创建角色
    【Oracle】创建用户
    【Oracle】glogin.sql脚本模板
    夺命雷公狗---DEDECMS----1dedecms的安装过程
    夺命雷公狗---微信开发63----微信开发总结篇
    夺命雷公狗---微信开发62----所以memcache对access_token进行全局缓存优化
    夺命雷公狗---微信开发61----在线点播电影网2之电影网之个人中心
  • 原文地址:https://www.cnblogs.com/chengxingliang/p/2743809.html
Copyright © 2011-2022 走看看