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 }




目录
相关文章
|
2月前
|
数据处理 C# Windows
WPF中实现弹出进度条窗口
【11月更文挑战第14天】在WPF中实现弹出进度条窗口,需创建进度条窗口界面(XAML)和对应的代码-behind(C#)。通过定义`ProgressWindow`类,包含`ProgressBar`和`TextBlock`,并在主窗口或逻辑代码中调用,模拟长时间任务时更新进度条,确保UI流畅。
|
6月前
|
开发框架 数据可视化 C#
|
8月前
设置WebStorm用Ctrl+鼠标滚轮上、下调整编辑器代码字体大小
设置WebStorm用Ctrl+鼠标滚轮上、下调整编辑器代码字体大小
|
前端开发
【30天30个小项目】菜单悬停动画
【30天30个小项目】菜单悬停动画
76 0
|
Windows
Win系统 - 全屏看视频时任务栏没有自动隐藏怎么办?(上)
Win系统 - 全屏看视频时任务栏没有自动隐藏怎么办?(上)
733 0
Win系统 - 全屏看视频时任务栏没有自动隐藏怎么办?(上)
|
Windows
Win系统 - 全屏看视频时任务栏没有自动隐藏怎么办?(下)
Win系统 - 全屏看视频时任务栏没有自动隐藏怎么办?(下)
336 0
Win系统 - 全屏看视频时任务栏没有自动隐藏怎么办?(下)
UGUI系列-鼠标移动到按钮上显示信息(Unity3D)
有时候图标不能很好的说明这个功能的解释,就需要一些说明性文字显示。就比如可以在鼠标移动到UI上面的时候显示文字。 那么如何在UGUI上,鼠标移动上去显示文字说明呢。 大家都知道,当鼠标移动到button按钮上面的时候会出现变化,主要是button这个组件在控制
|
前端开发 JavaScript HTML5
html+css+js 快速打造进度条
html进度条在web播放器中很常见,之前html并没有进度条这个标签,html5后出了一个progress标签作为进度条,但是并不是很好用,那么接下来,我们将用css+html+js实现进度条效果,无需任何三方框架。
4617 0
|
UED
uwp - 做一个相对炫酷的动画按钮/按钮动画
原文:uwp - 做一个相对炫酷的动画按钮/按钮动画   看腻了系统自带的button animation何不尝试下自定义一个较为炫酷的动画顺便提升用户体验。效果图: 动画分为几个部分,分别是:内圆从中心放大(1)并同时渐隐(2),外圆从中心放大(3)并同时渐隐(4),按钮整体从中心缩小放大(5),非常简单对吧,代码也是。
1113 0