基本信息
源码名称:C# 设置任务栏图标的进度(类似下载进度提示)
源码大小:1.62M
文件格式:.rar
开发语言:C#
更新时间:2019-05-15
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):78630559

本次赞助数额为: 2 元 
   源码介绍

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

//需要添加的命名空间
using Microsoft.WindowsAPICodePack.Shell;
using Microsoft.WindowsAPICodePack.Taskbar;

namespace WindowsAPICodePackTest
{
    public partial class FormMain : Form
    {
        private TaskbarManager windowsTaskbar = TaskbarManager.Instance;

        public FormMain()
        {
            InitializeComponent();
        }

        /// <summary>
        /// Load函数
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void FormMain_Load(object sender, EventArgs e)
        {
            //初始化界面和进度条
            cmbProgressStatus.Text = "Normal";
            windowsTaskbar.SetProgressState(TaskbarProgressBarState.Normal, this.Handle);
            windowsTaskbar.SetProgressValue(0, 100, this.Handle);
        }

        /// <summary>
        /// 设置进度条进度
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnSetProgress_Click(object sender, EventArgs e)
        {
            int progress = 0;
            int.TryParse(txtProgress.Text, out progress);
            progress = progress < 0 ? 0 : progress;
            progress = progress > 100 ? 100 : progress;
            //设置进度条进度
            windowsTaskbar.SetProgressValue(progress, 100, this.Handle);
        }

        /// <summary>
        /// 设置进度条状态
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnSetProgressStatus_Click(object sender, EventArgs e)
        {
            TaskbarProgressBarState progressState = TaskbarProgressBarState.Normal;
            switch (cmbProgressStatus.Text)
            {
                case "NoProgress":
                    {
                        progressState = TaskbarProgressBarState.NoProgress;
                    }
                    break;
                case "Indeterminate":
                    {
                        progressState = TaskbarProgressBarState.Indeterminate;
                    }
                    break;
                case "Normal":
                    {
                        progressState = TaskbarProgressBarState.Normal;
                    } 
                    break;
                case "Error":
                    {
                        progressState = TaskbarProgressBarState.Error;
                    }
                    break;
                case "Paused":
                    {
                        progressState = TaskbarProgressBarState.Paused;
                    }
                    break;
            }
            windowsTaskbar.SetProgressState(progressState, this.Handle);
        }
    }
}