Windows Phone 7开发,进度条ProgressBar使用详解
进度条在应用中的作用非常大,可以告诉用户当前操作执行的进度,以免用户在等待中失去耐心,进而关闭应用.Windows Phone 7的进度条有两种样式,一种是从左往右循环滚动的小点点,这种进度条并不能显示当前进度,类似于Android进度条的转圈风格;另一种就是能显示进度的 普通进度条,两种样式效果如下图:
介绍一下这个实例,页面上三个控件,两个ProgressBar分别显示两种风格的进度条,一个按钮,用于开启新线程更新ProgressBar的进度,这里用于了委托,如有不明白,参考:
几个控件的XAML代码:
<ProgressBar Height="54" HorizontalAlignment="Left"
Margin="17,27,0,0" Name="progressBar1" VerticalAlignment="Top"
Width="390" IsIndeterminate="True" />
<!--IsIndeterminate是关键,这个属性确定了ProgressBar的样式,默认是false,就是普通的能显示进度的进度条,true就是不能显示进度的进度条-->
<ProgressBar Height="59" HorizontalAlignment="Left"
Margin="31,107,0,0" Name="progressBar2" VerticalAlignment="Top" Width="374" />
<Button Content="更新progressBar2" Height="82"
HorizontalAlignment="Left" Margin="63,199,0,0" Name="button1"
VerticalAlignment="Top" Width="260" Click="button1_Click" />
</Grid>
C#程序代码:
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using Microsoft.Phone.Controls;
using System.Threading;
namespace PhoneApp3
{
public partial class MainPage : PhoneApplicationPage
{
delegate void ProgressDelegate(int i);
//声明委托类型
//委托的内容如有不明白,见http://www.pocketdigi.com/20110916/476.html 有详细注解
ProgressDelegate progressDelegate;
//声明委托
public MainPage()
{
InitializeComponent();
}
private void button1_Click(object sender, RoutedEventArgs e)
{
progressDelegate = SetProgress;
//把更新进度方法添加进委托
new Thread(new ThreadStart(ThreadProc)).Start();
//开启新线程
}
private void SetProgress(int i)
{
//这是更新进度条的方法
progressBar2.Value = i;
if (i == 100)
{
//如果达到100,则隐藏进度条
progressBar2.Visibility = Visibility.Collapsed;
//显示方法Visibility.Visibl
}
}
private void ThreadProc()
{//新线程执行的方法
for (int i = 0; i <= 100; i++)
{
this.Dispatcher.BeginInvoke(progressDelegate,i);
//线程中调用委托来更新UI,参数是委托,以及委托的参数
Thread.Sleep(1000);
}
}
}
}
转载于:https://www.cnblogs.com/songtzu/archive/2012/04/10/2439959.html
Windows Phone 7开发,进度条ProgressBar使用详解相关推荐
- Android进度条ProgressBar使用详解
先介绍一下ProgressBar几种比较常用的属性 布局中设置: android:max="100" --最大显示进度 android:progress="50" ...
- python gui下载进度条_对python GUI实现完美进度条的示例详解
在用python做一个gui界面时,想搞一个进度条实时显示下载进度,但查阅很多博客,最后的显示效果都类似下面这种: 这种效果在cmd界面看着还可以,但放到图形界面时就有点丑了,所以我用canvas重新 ...
- python动态显示进度条_实例详解python如何轻松实现动态进度条
本次的这篇文章主要是和大家分享了关于实例详解python如何轻松实现动态进度条,有需要的小伙伴可以看一下 思路及讲解 假设有一个1000000数据的列表(为了让进度条可以显示出来,很大的数据),我们每 ...
- 微信小程序进度条样式_详解微信小程序——自定义圆形进度条
微信小程序 自定义圆形进度条,具体如下: 无图无真相,先上图: 实现思路,先绘制底层的灰色圆圈背景,再绘制上层的蓝色进度条. 代码实现: JS代码: 页面初始化 options为页面跳转所带来的参数 ...
- Python进度条库tqdm详解
tqdm模块是python进度条库, 主要分为两种运行模式 基于迭代对象运行: tqdm(iterator) importtimefromtqdmimporttqdm,trange#trange(i) ...
- ajax实现下载文件进度条及方法详解
javascript使用ajax下载文件进度条实现 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml&qu ...
- Xamarin XAML语言教程构建进度条ProgressBar
Xamarin XAML语言教程构建进度条ProgressBar Xamarin XAML语言教程构建进度条ProgressBar,ProgressBar被称为进度条,它类似于没有滑块的滑块控件.进度 ...
- 【鸿蒙 HarmonyOS】UI 组件 ( 进度条 ProgressBar 和 RoundProgressBar 组件 )
文章目录 一.布局中设置 ProgressBar.RoundProgressBar 进度条 二.代码中设置 ProgressBar.RoundProgressBar 进度条 三.完整代码示例 四.Gi ...
- Android 各种自定义进度条Progressbar
Android 自定义进度条 Progressbar 控件集合 关于我,欢迎关注 博客:ccapton(http://blog.csdn.net/ccapton) 微信:Ccapton Github ...
最新文章
- 数据库知识点2——关系模型之基本概念
- 微信8年,干掉了短信也杀死了媒体?
- python操作excel-openpyxl(1)
- Linux(centos7)安装nginx并配置代理
- 2018-08-15期 HBase命令行使用案例
- 高性能JavaScript DOM编程
- 数据湖探索DLI新功能:基于openLooKeng的交互式分析
- 原生js、jq移入移出事件
- 使用 WebSphere Portlet Factory 构建基于 Web2.0 的灵活 SOA 前端
- continue 的理解
- win10系统的电脑如何录屏?QVE录屏大师使用教程?
- 【源码部署】Linux环境下编译snort
- 服务器安全,服务器密码遭篡改
- CSS效率---常用CSS框架
- 监控工具Zabbix之原理及部署
- oracle count 1 count 区别,Count(1)和count(*)区别
- 惠普HP Deskjet F4238 多功能一体机驱动
- buu-[WUSTCTF2020]level3
- win10怎么设置护眼背景
- 如何搭建属于自己的腾讯云服务器
热门文章
- BootStrapStudio文档阅读笔记-Getting Started Guide解析
- Java笔记-获取自己资源文件中的配置文件(打包成jar包为其他包所引用也能获取)
- vue学生作业-图书管理系统
- vue 刷新echarts_在vue.js中使用echarts,数据动态刷新
- curl post 日志_curl命令发送Post请求
- blast2go mysql_Blast2go本地化教程
- C语言实现去掉字符串中指定的字符
- android opengl es 粒子效果实例代码
- Linux 中的零拷贝技术
- 处理大并发之五 使用libevent利器bufferevent