zoukankan      html  css  js  c++  java
  • c#实现任务栏添加控制按钮

    Windows7Taskbar的使用

    你需要引入3个文件VistaBridgeLibrary.dll、Windows7.DesktopIntegration.dll、Windows7.DesktopIntegration.Registration.exe

    下载地址:http://yunpan.cn/QauRaNK4H3BYW (提取码:fe58)

    里面封装好的类:Windows7Taskbar、ThumbButtonManager、ThumbButton、JumpListManager、RegistrationHelper等等

    Windows7Taskbar用于注册及初始化,ThumbButtonManager管理ThumbButton,包括创建添加按钮,JumpListManager历史记录,RegistrationHelper关联文件类型

    实现步骤:

    1.引用

    using Windows7.DesktopIntegration;
    using Windows7.DesktopIntegration.WindowsForms;

    2.初始化(窗体Load时)

    Windows7Taskbar.AllowTaskbarWindowMessagesThroughUIPI();
    Windows7Taskbar.SetCurrentProcessAppId(
    "TaskbarManaged");//里面的参数自定义

    3.创建按钮

    ThumbButtonManager buttonManager=this.CreateThumbButtonManager();
    ThumbButton taskbarBtnPause = buttonManager.CreateThumbButton(101, Properties.Resources.playtask, "播放");
    taskbarBtnPause.Clicked += (sender, e) =>
    {
      btnPlay_PictureClick(sender, e);
      if (IsPlay == true)//这里判断是否在播放,更新图标
      {
        taskbarBtnPause.Icon = Properties.Resources.playtask;
      }
      else
      {
        taskbarBtnPause.Icon = Properties.Resources.pausetask;
      }
    };
    buttonManager.AddThumbButtons(taskbarBtnPause);

    4.捕获信息

    protected override void WndProc(ref Message m)
    {   
    if (buttonManager != null)   buttonManager.DispatchMessage(ref m);   base.WndProc(ref m);
    }

    效果图:

    需要注意的是:

    最多7个button, 没有方法添加或删除一个按钮,在你初始化以后, 只能让它不可用或隐藏.可以调用ThumbBarAddButtons和ThumbBarUpdateButtons方法来控制工具栏.

    在窗体的Load时间里添加ThumbButton不会起作用,这就是为什么我不在窗体Load时添加ThumbButton的原因,并且每个ThumbButton都有一个ID,这个ID是你自己分配的,不能重复

    遇到的问题:

    我给taskbarBtnPause.Clicked添加了一个处理事件,也就是改变图标,结果是当触发该事件时ThumbButton的属性Icon修改了,但是界面没有更新

     

    本文地址:http://www.cnblogs.com/liuxiaobo93/p/3914424.html 暮雨冰蓝

  • 相关阅读:
    css3实现渐变进度条
    从实际项目出发,浅淡什么是设计空间
    消失的Controller
    深入理解Go系列一之指针变量
    48个国际音标简述
    【PyTorch】按照 steps 训练和保存模型
    用C/python手写redis客户端,兼容redis集群 (-MOVED和-ASK),快速搭建redis集群
    jsoncpp安装与使用 cmake安装 升级g++ gcc支持c++11
    【Android】解决Android Studio初次配置可能会出现的Unkown Host问题
    【数据结构】时间复杂度和空间复杂度计算
  • 原文地址:https://www.cnblogs.com/liuxiaobo93/p/3914424.html
Copyright © 2011-2022 走看看