NotifyIcon是一个比较特殊的组件,其特殊之处是既可以把它归类到控件中,也可以把它归类到组件中。这是因为将其拖放到设计窗体后,我们并不能马上看到它的界面(像组件),而是在运行时才能看到它(像控件)。

   通知区域中的图标是一些进程的快捷方式,这些进程在计算机后台运行,如防病毒程序或音量控制。这些进程不会具有自己的用户界面。NotifyIcon 类提供了编写此功能的方法。Icon 属性定义显示在通知区域中的图标。图标的弹出菜单由 ContextMenu 属性确定。Text 属性分配工具提示文本。要在通知区域中显示图标,必须将 Visible 属性设置为 true。     
                                                                                                                                                                                                ------来自百度百科
 
个人理解,就是人物栏通知区域里的图标。
 
前提:各类事件,快捷菜单的执行都是在NotifyIcon设置了Icon基础上的,如果没有设置,
甚至ShowBalloonTip也显示不出来。
 
1.拖控件到窗体上,其实也可以自己定义,主要最后加到窗体上就行。
2.Text属性 ,设置鼠标放在任务栏图标上时显示的文字,这里似乎不能设置样式,估计要重写这个控件才行。
类似qq的效果
 
3.ShowBalloonTip()方法,在任务栏中持续显示具有指定标题、文本和图标的气球通知。
就相当于在系统级给一个通知显示在屏幕右下角,拥有单击,双击,取消事件。
 
4.设置右键菜单项 ,可是是ContextMenuStrip或者ContextMenu,前者的功能比较强大,但后者的优先级高。
其中ContextMenuStrip的Items属性为ToolStripItemCollection,但是ToolStripItem为抽象类,不能创建它的实例,
通过发射工具发现会在内部创建ToolStripButton对象
            ContextMenuStrip cms = new ContextMenuStrip();//创建ContextMenuStrip的实例
cms.Items.Add("个人中心", new Bitmap(@"E:\毕设\UAVGroundStation\WindowsFormsApp\1.jpg"));//比ContextMenu强大的地方,可以为每一项添加图片
notifyIcon2.ContextMenuStrip = cms; MenuItem mt = new MenuItem("打开");//Context的子项
mt.Click += Mt_Click; ContextMenu cm = new ContextMenu(new MenuItem[] { mt });//通过MenuItem数组创建ConatextMenu对象
notifyIcon2.ContextMenu = cm;

它的 子类有:

实测,这些类型都是可以加入到ContextMenuStrip中的,

对于ContextMenuStrip,可以直接从工具箱中拖入,只要NotifyIcon的ContextMenuStrip指向这个ContextMenuStrip实例就行。
 
类型qq:
5.各类事件(测试都是用弹出框测试的,可能存在缺陷和不准确性)
MouseUp:在区域内释放鼠标触发 包括左键、右键、滑轮
MouseClick:在区域内释放鼠标触发 包括左键、右键、滑轮,经过测试是和MouseUp一样。不知有什么特殊情况。
MouseDoubleClick:双击图标触发 包括左键、右键、滑轮
MouseDown:在区域内点击触发 测试显示左键需要点击→释放才触发,右键和滑轮直接触发
MouseMove:从区域内移动鼠标触发,测试显示,弹出框后,点击确定按钮关闭染出框会触发,可能是个bug。
6.建议
调试的时候
最好用后者,前者有时候触发不了,不准确。
 
 
 

毕设(三)NotifyIcon的更多相关文章

  1. 毕设三: spark与phoenix集成插入数据/解析json数组

    需求:将前些日子采集的评论存储到hbase中 思路: 先用fastjson解析评论,然后构造rdd,最后使用spark与phoenix交互,把数据存储到hbase中 部分数据: [ { "r ...

  2. 毕业设计(3)基于MicroPython的篮球计时计分器模型的设计与实现

    前言 我们身边有不少人都喜欢看篮球比赛或者经常打篮球.说起篮球,肯定要提到NBA(美国职业篮球联赛),现在也正是NBA 18-19赛季常规赛的时候.最近3月5日,韦少22分帮助雷霆终结了四连败,哈登4 ...

  3. 【开源毕设】一款精美的家校互动APP分享——爱吖校推 [你关注的,我们才推](持续开源更新3)附高效动态压缩Bitmap

    一.写在前面 爱吖校推如同它的名字一样,是一款校园类信息推送交流平台,这么多的家校互动类软件,你选择了我,这是我的幸运.从第一次在博客园上写博客到现在,我一次一次地提高博文的质量和代码的可读性,都是为 ...

  4. Android自定义View的三种实现方式

    在毕设项目中多处用到自定义控件,一直打算总结一下自定义控件的实现方式,今天就来总结一下吧.在此之前学习了郭霖大神博客上面关于自定义View的几篇博文,感觉受益良多,本文中就参考了其中的一些内容. 总结 ...

  5. 分享一下我的部分毕设内容:基于Windows Phone平台的污染源管理应用

    原文:分享一下我的部分毕设内容:基于Windows Phone平台的污染源管理应用 毕业半年,又总结了一下之前的工作,发现很多知识不复习都忘记了.最近新闻总是报道北京的空气污染,各种雾霾,各种PM X ...

  6. 又到毕业季,尚学堂喊你免费领取100个Java毕设项目(含源码视频),限时一周哦!

    你还在为毕设发愁?不知道该如何命题?不知道从哪里下手?担心毕设过不了影响毕业? 尚学堂首家隆重推出了刷爆朋友圈的毕设100个项目,别说你还没去下载观看!!最最重要的是:免费!免费!免费!而且限时一周! ...

  7. ZigBee毕设

    毕设题目: —————————————————————————————————————————————————————————————————————————————— 基于Zigbee的智能家居监测 ...

  8. 服务器 三 MQTT服务器手机开发

    目的: 实现手机4G网络控制单片机,需要搭建服务器,手机或者各种控制端远程控制. 本教程 1  MQTT服务器硬件模块 2 MQTT服务器电脑搭建 2.1自己搭建 2.2租阿里云服务器 2 MQTT服 ...

  9. C# WinForm中NotifyICon控件的用法

    参考:http://blog.csdn.net/paullink520/article/details/14170021 http://www.cnblogs.com/webman/archive/2 ...

随机推荐

  1. 手动删除APP里面的账号信息

    在Archive项目时,出现了“Your build settings specify a provisioning profile with the UUID “”, however, no suc ...

  2. Hive分析窗体函数之NTILE,ROW_NUMBER,RANK和DENSE_RANK

    開始,依照顺序,生成分组内记录的序列–比方,依照pnum降序排列.生成分组内每天的pnum名次ROW_NUMBER() 的应用场景许多.再比方,获取分组内排序第一的记录等等. SELECT polno ...

  3. hadoop 3.x 集群/单个节点的启动与停止

    1.单个节点操作 启动|停止单个节点 hdfs --daemon start|stop datanode hdfs --daemon start|stop namenode 启动|停止单个节点的Nod ...

  4. 一种基于uCos-II操作系统和lwIP协议栈的IEEE-1588主站以及基于该主站的报文处理方法

    主站以及应用于电力系统的支持IEEE‐1588协议的主时钟(IEEE‐1588主站)的实现方法.该方法是在一个低成本的硬件平台上,借助uCos‐II操作系统和TCP/IP的协议栈,对以太网数据进行了分 ...

  5. Java网络编程注意事项1

    网络编程的基础知识 什么是计算机网络,就是把分布在不同地理区域的计算机与专门的外部设备通信线路互连成一个规模大.功能强的网络系统. 计算机网络主要能做些下面功能: 1)资源共享 2)信息传输与集中处理 ...

  6. WPF--动态添加控件、访问控件

    //WPF窗口采用默认的Grid布局控件,其“Name”值为“grid1”,在“grid1”中添加三个Button按钮.动态添加控件并访问这些控件的代码如下: private void button1 ...

  7. 为 Mac Finder 增加右键文件打包压缩(免费)

    在 Windows 上用惯了 7-Zip 和 WinRAR,来到 Mac 却突然发现没有类似的工具?Mac 自带的 Zip 工具确实让人吐糟无力,压缩率低就不说了,因为 Mac 上文件名是 Unico ...

  8. jQuery整体架构

    (function(global, factory) { factory(global); }(typeof window !== "undefined" ? window : t ...

  9. 微信4.5 for Android安卓内测版体验【实时对讲】杀手级应用下载

    微信4.5 for Android 安卓 内测版 体验 程序启动画面,是一支在动的烛光 主要功能更新如下 支持语音提醒,到时间后自动弹出消息框 发起语音提醒请求 成功识别语音请求,并且保存在本地,应该 ...

  10. 利用tcpdump分析工具来验证tcp连接的建立和关闭过程

    本文要求读者在阅读之前应该对TCP通过三次握手建立和关闭连接有一定的了解,本文并没有详细讲解三次握手,只是通过一个实例对三次握手进行了一下验证. tcp连接的建立和关闭想必大家都已经非常熟悉了!通过三 ...