TaskBarProgress(任务栏进度条)

简介: 原文:TaskBarProgress(任务栏进度条) 1 2 3 4 5 6 10   1 public partial class MainWindow : Window 2 { 3 ...
原文: TaskBarProgress(任务栏进度条)

 1  <Window.TaskbarItemInfo>
2 <TaskbarItemInfo />
3 </Window.TaskbarItemInfo>
4
5 <Grid>
6 <ProgressBar x:Name="ProgressBar" Margin="10"
7 HorizontalAlignment="Stretch"
8 VerticalAlignment="Center"
9 Height="23" />
10 </Grid>

 

 1 public partial class MainWindow : Window
2 {
3 public MainWindow()
4 {
5 InitializeComponent();
6
7 Loaded += new RoutedEventHandler(MainWindow_Loaded);
8 }
9
10 void MainWindow_Loaded(object sender, RoutedEventArgs e)
11 {
12 //BackgroundWorker,在单独的线程上执行操作
13 BackgroundWorker worker = new BackgroundWorker();
14
15 //BW.DoWork,调用BW.RunWorkerAsync()时发生
16
17 //初始化命名委托;Lambda 运算符的左边是输入参数(如果有),右边包含表达式或语句块;
18 worker.DoWork += (s, ev) =>
19 {
20 for (int i = 0; i < 100; i += 10)
21 {
22 Thread.Sleep(1000);
23
24 //BW.ReportProgress,引发BW.ProgressChanged事件
25 ((BackgroundWorker)s).ReportProgress(i);
26 }
27 };
28 //调用BW.ReportProgress时发生
29 worker.ProgressChanged += new ProgressChangedEventHandler(worker_ProgressChanged);
30
31 //当后台操作已完成,被取消或引发异常时发生
32 worker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(worker_RunWorkerCompleted);
33
34 //BackgroundWorker.WorkerReportsProgress 获取或设置一个值,该值指示 BackgroundWorker 能否报告进度更新。
35 worker.WorkerReportsProgress = true;
36
37 //TaskbarItemInfo获取或设置 System.Windows.Window 的任务栏缩略图。
38 //TaskbarItemInfo.ProgressState 获取或设置一个值,该值指示在任务栏按钮中显示进度指示器的方式。
39
40 TaskbarItemInfo.ProgressState = TaskbarItemProgressState.Indeterminate;
41
42 //TaskbarItemProgressState枚举值
43 //None=0,Indeterminate=1(闪烁绿色),Normal=2(绿色),Error=3(红色),Paused=4(黄色)
44
45 //开始执行后台操作
46 worker.RunWorkerAsync();
47
48 }
49
50
51 void worker_ProgressChanged(object sender, ProgressChangedEventArgs e)
52 {
53 //ProgressChangedEventArgs.ProgressPercentage 获取异步任务的进度百分比
54 ProgressBar.Value = e.ProgressPercentage;
55
56 // double TaskbarItemInfo.ProgressValue获取或设置一个值,该值指示任务栏按钮中进度指示器的填满状态。
57 TaskbarItemInfo.ProgressValue = (double)e.ProgressPercentage / 100;
58 }
59
60 void worker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
61 {
62 ProgressBar.Value = 100;
63 TaskbarItemInfo.ProgressValue = 1.0;
64 }
65 }




目录
相关文章
CDialog中使用工具栏和状态栏
CDialog中使用工具栏和状态栏
86 0
|
Windows
Win系统 - 全屏看视频时任务栏没有自动隐藏怎么办?(上)
Win系统 - 全屏看视频时任务栏没有自动隐藏怎么办?(上)
559 0
Win系统 - 全屏看视频时任务栏没有自动隐藏怎么办?(上)
|
Windows
Win系统 - 全屏看视频时任务栏没有自动隐藏怎么办?(下)
Win系统 - 全屏看视频时任务栏没有自动隐藏怎么办?(下)
281 0
Win系统 - 全屏看视频时任务栏没有自动隐藏怎么办?(下)
UGUI系列-鼠标移动到按钮上显示信息(Unity3D)
有时候图标不能很好的说明这个功能的解释,就需要一些说明性文字显示。就比如可以在鼠标移动到UI上面的时候显示文字。 那么如何在UGUI上,鼠标移动上去显示文字说明呢。 大家都知道,当鼠标移动到button按钮上面的时候会出现变化,主要是button这个组件在控制
|
Android开发
动画必须有(二):悬浮菜单了解一下!
动画必须有(一): 属性动画浅谈githhub传送门 目录 前言 效果图 FloatingActionButton基础 FloatingActionButton实例 最后 前言 悬浮按钮是我非常喜欢的, 可以把最关键的功能放入到悬浮按钮中.
1033 0