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. 使用原生JS+CSS或HTML5实现简单的进度条和滑动条效果(精问)

    使用原生JS+CSS或HTML5实现简单的进度条和滑动条效果(精问) 一.总结 一句话总结:进度条动画效果用animation,自动效果用setIntelval 二.使用原生JS+CSS或HTML5实 ...

  2. com.sun.mirror的jar包

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/sinat_36246371/article/details/53170166 <Java編程思 ...

  3. android studio 各种问题 应该能帮助到你们

    1. you can import your settings from a previous version of Studio 可以导入您的设置从先前版本的工作室 2. I want to imp ...

  4. gdal库中设置prj4库全路径的用法

    作者:朱金灿 来源:http://blog.csdn.net/clever101 gdal库实现投影转换之类的功能实际上底层都是调用prj4库的功能.如果gdal使用非静态的方式集成prj4库,实际上 ...

  5. How to configure spring boot through annotations in order to have something similar to <jsp-config> in web.xml?

    JSP file not rendering in Spring Boot web application You will need not one but two dependencies (ja ...

  6. 一个2013届毕业生(踏上IT行业)的迷茫(3)

    高中,是校园题材中出现最多的角色,但我的高中缺非常灰淡.我上的高中在我们镇上,记得在上小学的时候我哥在高中,我每次从学校门口过的时候都感觉高中好大,门口好漂亮,但是我从来都没敢进去.就在2006年我以 ...

  7. 深度神经网络(DNN)

    深度神经网络(DNN) 深度神经网络(Deep Neural Networks, 以下简称DNN)是深度学习的基础,而要理解DNN,首先我们要理解DNN模型,下面我们就对DNN的模型与前向传播算法做一 ...

  8. java构造器的作用

    通常通过在构造器中传入参数,对字段进行初始化,以达到初始化所创建的对象实例的目的.

  9. 【STL】关联容器 — hashtable

    C++ 11哈希表已被列入标准列.hashtable这是hash_set.hash_map.hash_multiset.hash_multimap的底层机制.即这四种容器中都包括一个hashtable ...

  10. EBS OAF 发展 URL商标、加密和编码

    EBS OAF 发展 URL商标.加密和编码 (版权声明.我原来的或翻译的文章,如需转载,转载的个人学习,转载请注明出处:否则,请与我联系.版权所有) 马克 当您指定页面定义声明URL参数,文本也能够 ...