NotifyICon使用
2010-04-11 15:47 by Ju2ender, 1438 visits, 网摘, 收藏, 编辑
最常见使用NotifyIcon的程序就是QQ了,当初我非常好奇这通知区域的小企鹅是怎样随着QQ的执行放上去的,这的确是个有趣的技巧。
![]()
要是用到自己的程序上的确显得非常专业!我们来为自己的小程序也加入个 : )
![]()
上面是Demo的效果,还能够吧 : )
首先我们创建一个WinForm项目,我起名叫“NotifyIconTest”:
![]()
删除默认创建的Form1,加入新窗口Main;新建一个目录,里面放入你喜欢的Icon(图片须为ico图像),这里我放入的是Gateway的Icon。
以下,在窗口中放入一个TextBox,一个Button,我起名叫btnShow。TextBox用于输入将放入提示气泡中的信息,Button用于将输入的信息显示出来。接着放入我们的主角:NotifyIcon控件,一般它位于公共控件中:
![]()
双击,将它增加我们的项目,这时它会放入设计视图的左下角。我们来看看它有哪些属性(不经常使用的就不说明了):
![]()
BalloonTipIcon —— 气泡提示的类型,有None(无)、Info(蓝色感叹号)、Warnning(黄色感叹号)、Error(小红叉);
![]()
BalloonTipText —— 气泡提示的内容,如上图的None等气泡类型信息;
BalloonTipTitle —— 气泡提示的标题,如上图的Tip;
ContextMenuStrip —— 绑定的右键菜单;
Icon —— 所显示的图标;
Text —— 鼠标移上去时,显示的提示信息;
![]()
Visible —— 是否显示图标,当然,不显示就看不到了。
那么如今我们在Show Button的Click事件中加入例如以下代码:
private void btnShow_Click(object sender, EventArgs e) |
{ |
string tipText = this.txtText.Text.Trim() == "" ? "No text!" : this.txtText.Text.Trim(); |
this.notifyIcon.ShowBalloonTip(1000, "Tip", tipText, ToolTipIcon.Info); |
} |
首先推断了TextBox中是否有信息,无则提示“No Text!”,有则显示信息。使用NofifyIcon的ShowBalloonTip()(显示气泡提示)方法将输入的信息显示出来,第一个參数是信息显示的时间,以毫秒为单位;第二个是BalloonTipTitle;第三个是BalloonTipText;第四个是BalloonTipIcon。
为了显示提示更方便,不如在输入信息后按下回车就显示信息。做法是在窗口的属性中找到AcceptButton:
![]()
它的作用就是窗口的接受button,也就是与回车相应的button。将它设置为Show Button。另外还有个CancelButton属性;
![]()
它表示关闭该窗口的button,与Esc键相相应。
为了更像那么回事儿,我们再为图标加个右键菜单:
![]()
为它输入几个项目,我为它加了6个项目,当中一个是ComboBox、一个是TextBox:
![]()
然后,将它绑定到NofifyIcon的ContextMenuStrip属性上。
完毕了,我们来看看效果:
![]()
![]()
![]()
点击这里下载上面的演示样例NotifyIconTest。
以下是应一楼的朋友写的仿QQ提示框的Demo:
![]()
仅仅是粗略的实现了下,有待进一步优化,点击这里下载改变后的演示样例。
NotifyICon使用的更多相关文章
- C#之使用NotifyIcon实现任务栏托盘菜单,图标闪烁效果及气泡提示
很多程序是只需要后台运行的,甚至不需要自己的应用界面.NotifyIcon提供了程序在任务栏的显示功能 程序下载链接如下: http://download.csdn.net/detail/u01031 ...
- WPF控件--利用Winform库中的NotifyIcon实现托盘小程序
WPF控件--NotifyIcon 运行界面如下所示: 图1 图2 代码很少,如下所示 ...
- NotifyIcon 将窗口最小化到托盘
1.设置窗体属性showinTask=false 2.加notifyicon控件notifyIcon1,为控件notifyIcon1的属性Icon添加一个icon图标. 3.添加窗体最小化事件(首先需 ...
- NotifyIcon用法
-------------------控件NotifyIcon-----------//客户端调用 private void btnShowError_Click(object sender, Eve ...
- 为notifyIcon.icon属性赋图片
System.Drawing.Bitmap bp; bp = new Bitmap(Application.StartupPath + @"\image\" + MeiYeShuo ...
- C#.NET常见问题(FAQ)-如何使用右下角托盘图标notifyIcon
1 拖放一个NotifyIcon控件,并设置图标,还有显示的文字 2 双击这个控件,即当最小化了主窗体,然后双击这个右下角图标的时候,要显示主窗体(大部分程序的用户体验都是这样干的,比如QQ,双击 ...
- C# WinForm中NotifyICon控件的用法
参考:http://blog.csdn.net/paullink520/article/details/14170021 http://www.cnblogs.com/webman/archive/2 ...
- NotifyIcon实现托盘程序
NotifyIcon 控件的常用属性属性:Icon类型:System.Drawing.Icon说明:将在系统任务栏中显示的图标.可以在设计时指定,也可在运行时动态指定.属性:Text类型:String ...
- wpf下使用NotifyIcon
以前在winForm下使用过NotifyIcon,到wpf找不到了,在wpf下还是直接用WinForm里的那个NotifyIcon实现最小到系统托盘 定义一个NotifyIcon成员 : Notify ...
- NotifyIcon控件
NotifyIcon就是系统托盘控件.通知区域中的图标是一些进程的快捷方式,这些进程在计算机后台运行,如防病毒程序或音量控制.这些进程不会具有自己的用户界面.NotifyIcon 类提供了编写此功能的 ...
随机推荐
- nuxt.js配置BASE_URL(基本域名)和NODE_ENV(环境变量)
一直以来,开发环境和生产环境的数据接口域名不一样总是困扰着我 每次打测试包或者线上包,我都得手动切换域名,我相信很多人的做法跟这差不多,类似下面这样: (你已经注意到,这个文件已经被我无情的删除了,因 ...
- JS学习笔记 - fgm练习 2-12- 全选反选 判断CheckBox是否选中 &&运算符
练习地址:http://www.fgm.cc/learn/lesson2/12.html 总结: 1. && 运算符,从左向右依次执行,如果遇到 false,就不再继续执行后面的语句 ...
- 深度学习利器: TensorFlow系统架构及高性能程序设计
2015年11月9日谷歌开源了人工智能平台TensorFlow,同时成为2015年最受关注的开源项目之一.经历了从v0.1到v0.12的12个版本迭代后,谷歌于2017年2月15日发布了TensorF ...
- Spring Boot 热部署(转)
Spring Boot 热部署 实际开发中,修改某个页面数据或逻辑功能都需要重启应用.这无形中降低了开发效率,所以使用热部署是十分必要的. 什么是热部署? 应用启动后会把编译好的Class文件加载的虚 ...
- thinkphp事务机制
thinkphp事务机制 一.总结 下面文章也要看,下面有抛出异常(自己提供错误信息那种) 1.事务机制(原子性):所有的事情都完成了就提交,否则回滚.电商里面用的多,付钱买东西的时候. 2.样例(简 ...
- 3、Unicode\UTF-8\GBK 区别和联系
字符编码:Unicode和UTF-8之间的关系 可以参考下面blog:https://blog.csdn.net/xiaolei1021/article/details/52093706/ 这篇文章写 ...
- 【BZOJ 4516】生成魔咒
[链接]h在这里写链接 [题意] [Description] 给你n(n<=10^9)个数字,把它们依次,一个一个地添加在空串S的后面. 要求每添加一次之 ...
- js 第四章 cookie的操作
js 第四章 cookie的操作 一.学习要点 掌握cookie的简单应用 二. js 第四章 cookie的操作 了解cookie 什么是cookie? cookie 是存储于访问者的计算机中的变量 ...
- js实现类似页面广告一段时间自动打开一段时间自动关闭的功能
js实现类似页面广告一段时间自动打开一段时间自动关闭的功能 一.总结 Window 对象的 open()方法:window.open('测试页面.html','news','height=300,wi ...
- Android多线程研究(9)——读写锁
一.什么是锁 在Java的util.concurrent.locks包下有关于锁的接口和类如下: 先看一段代码: package com.codeing.snail.test; public clas ...