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使用的更多相关文章

  1. C#之使用NotifyIcon实现任务栏托盘菜单,图标闪烁效果及气泡提示

    很多程序是只需要后台运行的,甚至不需要自己的应用界面.NotifyIcon提供了程序在任务栏的显示功能 程序下载链接如下: http://download.csdn.net/detail/u01031 ...

  2. WPF控件--利用Winform库中的NotifyIcon实现托盘小程序

    WPF控件--NotifyIcon   运行界面如下所示:            图1                                             图2 代码很少,如下所示 ...

  3. NotifyIcon 将窗口最小化到托盘

    1.设置窗体属性showinTask=false 2.加notifyicon控件notifyIcon1,为控件notifyIcon1的属性Icon添加一个icon图标. 3.添加窗体最小化事件(首先需 ...

  4. NotifyIcon用法

    -------------------控件NotifyIcon-----------//客户端调用 private void btnShowError_Click(object sender, Eve ...

  5. 为notifyIcon.icon属性赋图片

    System.Drawing.Bitmap bp; bp = new Bitmap(Application.StartupPath + @"\image\" + MeiYeShuo ...

  6. C#.NET常见问题(FAQ)-如何使用右下角托盘图标notifyIcon

    1 拖放一个NotifyIcon控件,并设置图标,还有显示的文字   2 双击这个控件,即当最小化了主窗体,然后双击这个右下角图标的时候,要显示主窗体(大部分程序的用户体验都是这样干的,比如QQ,双击 ...

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

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

  8. NotifyIcon实现托盘程序

    NotifyIcon 控件的常用属性属性:Icon类型:System.Drawing.Icon说明:将在系统任务栏中显示的图标.可以在设计时指定,也可在运行时动态指定.属性:Text类型:String ...

  9. wpf下使用NotifyIcon

    以前在winForm下使用过NotifyIcon,到wpf找不到了,在wpf下还是直接用WinForm里的那个NotifyIcon实现最小到系统托盘 定义一个NotifyIcon成员 : Notify ...

  10. NotifyIcon控件

    NotifyIcon就是系统托盘控件.通知区域中的图标是一些进程的快捷方式,这些进程在计算机后台运行,如防病毒程序或音量控制.这些进程不会具有自己的用户界面.NotifyIcon 类提供了编写此功能的 ...

随机推荐

  1. 1.1 Introduction中 Apache Kafka™ is a distributed streaming platform. What exactly does that mean?(官网剖析)(博主推荐)

    不多说,直接上干货! 一切来源于官网 http://kafka.apache.org/documentation/ Apache Kafka™ is a distributed streaming p ...

  2. mysql 获取自增id的值的方法

    原生jdbc方式: Statement.getGeneratedKeys() 示例: Statement stmt = null; ResultSet rs = null; try { // // C ...

  3. web service 原理

    Web Service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的 ...

  4. Docker---(2)为什么要用Docker

    原文:Docker---(2)为什么要用Docker 版权声明:欢迎转载,请标明出处,如有问题,欢迎指正!谢谢!微信:w1186355422 https://blog.csdn.net/weixin_ ...

  5. [D3] Adding Arrows to Links

    svg.append('defs').selectAll('marker') .data(['end']).enter() .append('marker') .attr('id', String) ...

  6. [RxJS] Avoid mulit post requests by using shareReplay()

    With the shareReplay operator in place, we would no longer fall into the situation where we have acc ...

  7. Android Java使用JavaMail API发送和接收邮件的代码示例

    JavaMail是Oracle甲骨文开发的Java邮件类API,支持多种邮件协议,这里我们就来看一下Java使用JavaMail API发送和接收邮件的代码示例 使用Javamail发送邮件,必需的j ...

  8. (转)nginx的root和alias指令的区别

    转自 http://www.cnblogs.com/tintin1926/archive/2012/07/11/2586813.html nginx配置下有两个指定目录的执行,root和alias   ...

  9. Android 利用an框架快速实现网络请求(含下载上传文件)

    作者:Bgwan链接:https://zhuanlan.zhihu.com/p/22573081来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. an框架的网络框架是完全 ...

  10. HDU 1800 Flying to the Mars Trie或者hash

    http://acm.hdu.edu.cn/showproblem.php?pid=1800 题目大意: 又是废话连篇 给你一些由数字组成的字符串,判断去掉前导0后那个字符串出现频率最高. 一开始敲h ...