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 暮雨冰蓝
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
C#(Wpf)实现小键盘
原文: C#(Wpf)实现小键盘 花了一天时间小键盘基本功能已完成,先看看效果图吧! 默认: Shift: Caps Lock: Button style <Style x:Key="KeyButton" TargetType="Button"> <Setter Property="Background" Value="White"/> <Setter Property="Margin" Value="1,2"/> <Setter Property="Width" Value="24"/> <Setter Property="Height" Value="24"/> <Setter Property="BorderThickness" Value=".5"/> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="Button"> <Grid> &...
- 下一篇
Hibernate对字段进行加密,运行时解密
在需加密字段上增加如下注解 @Column(columnDefinition= "BLOB", name="address" )@ColumnTransformer(read = "CAST(AES_DECRYPT(address, '$*^@!#') as char(1000))", write = "AES_ENCRYPT(?, '$*^@!#')" )public String getAddress() {return address; } 说明: @ColumnTransformer:用于对数据进行sql层处理 AES_DECRYPT:解密,第一个参数为列名,第二个参数为密钥,解密之后在mysql中应该也是bolb所以需要加上CAST来强转为java可以直接接收的char类型 AES_ENCRYPT:加密,加密之后是blob类型所以数据库中需使用blob来存储
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS关闭SELinux安全模块
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- 设置Eclipse缩进为4个空格,增强代码规范
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS7安装Docker,走上虚拟化容器引擎之路