NotifyIcon 控件的常用属性
属性:Icon
类型:System.Drawing.Icon
说明:将在系统任务栏中显示的图标。可以在设计时指定,也可在运行时动态指定。
属性:Text
类型:String
说明:用于指定当鼠标停留在小图标上时显示的信息。
属性:Visible
类型:Bool
说明:用于设置小图标是否显示。
注意:如果程序退出前没有将其设置为false,那么小图标将一直停留在系统栏,直到鼠标从上面经过时才会消失。
操作:Click
说明:当鼠标单击时激发的事件
操作:DoubleClick
说明:当鼠标双击时激发的事件
操作:MouseDown
说明:当鼠标其中一键按下时激发的事件
操作:MouseUp
说明:当鼠标其中一键松开时激发的事件
操作:MouseMove
说明:当鼠标其中一键从上掠过时激发的事件

BalloonTipIcon -- 气球工具提示关联的图标
BallonnTipText -- 气球工具提示关联的文本
BallonnTipText -- 气球工具提示的标题

实践:
要求将程序最小化的同时让程序的图标出现在“系统托盘”的位置上,而不显示在“任务栏”中。鼠标双击系统托盘中的图标时,还原窗体。

<1>.ShowInTaskbar属性控制是否在任务栏显示窗体。
<2>.WindowState 属性指出当前Winform窗体的窗口状态。
当前窗口状态只有三种情况:
FormWindowState.Maximized;//最大化窗口
FormWindowState.Minimized;//最小化窗口
FormWindowState.Normal;//默认的窗口大小
<3>.使用notifyIcon控件是控制出现在系统托盘的内容的。
notifyIcon.Icon -- 指定出现在任务栏中的Icon图标
notifyIcon.Text -- 显示的文本
  notifyIcon.BalloonTipIcon -- 气球工具提示关联的图标
notigyIcon.BallonnTipText -- 气球工具提示关联的文本
  notigyIcon.BallonnTipText -- 气球工具提示的标题。
<4>.应在Form_SizeChange事件中完成判断,具体代码:

/// <summary>
/// 最小化值系统托盘
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Form_SizeChanged(object sender, EventArgs e)
{
if (this.WindowState == FormWindowState.Minimized) //判断是否最小化
{
this.ShowInTaskbar = false; //不显示在系统任务栏
notifyIcon.Visible = true; //托盘图标可见
}
}
/// <summary>
/// 还原(notifyIcon的鼠标双击事件)
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e)
{
if (this.WindowState == FormWindowState.Minimized)
{
this.ShowInTaskbar = true; //显示在系统任务栏
this.WindowState = FormWindowState.Normal; //还原窗体
notifyIcon1.Visible = false; //托盘图标隐藏
}
}

<5>.给notifyIcon添加右键菜单:
主窗体中拖入一个ContextMenu控件contextMenu1,点中控件,在上下文菜单中添加菜单,notifyIcon1的ContextMenu行为中选中contextMenu1作为上下文菜单。
NotifyIcon.ShowBalloonTip (time) 在任务栏中持续显示气球提示指定的时间(以毫秒为单位)。最小和最大超时值由操作系统执行,一般分别为 10 秒和 30 秒,但这可能因操作系统而异。太大或太小的超时值将调整为适当的最小值或最大值。此外,如果用户看起来没有使用计算机(没有键盘或鼠标事件发生),则系统不将此时间计算在超时值内。
一次只能在任务栏中显示一个气球提示。如果当前在任务栏中已经显示了一个气球提示,则尝试显示其他气球提示将导致忽略 timeout 值。行为会因气球提示是来自其他应用程序,还是来自同一应用程序而稍有不同。如果第二个气球提示来自其他应用程序,第一个气球提示将在第二个提示出现之前持续显示最小超时值,而不管 timeout. 的值是多少。如果这两个气球提示来自同一应用程序,则第一个气球提示在再次调用 ShowBalloonTip 方法时立即关闭。标题文本将在气球顶部附近以粗体显示。

private void SetBalloonTip()
{
notifyIcon1.Icon = SystemIcons.Exclamation;
notifyIcon1.BalloonTipTitle = "Balloon Tip Title";
notifyIcon1.BalloonTipText = "Balloon Tip Text.";
notifyIcon1.BalloonTipIcon = ToolTipIcon.Error;
this.Click += new EventHandler(Form1_Click);
}
void Form1_Click(object sender, EventArgs e)
{
notifyIcon1.Visible = true;
notifyIcon1.ShowBalloonTip();
}

引用 http://blog.csdn.net/lanmao100/article/details/2174137

NotifyIcon实现托盘程序的更多相关文章

  1. delphi 托盘程序 转

    Delphi的托盘编程   .现在很多程序都用这个,比如傲游,迅雷等,主要代码如下: uses Windows, Messages, SysUtils, Variants, Classes, Grap ...

  2. Delphi 托盘程序实现 转

    unit MainUnit; interface uses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, F ...

  3. Qt托盘程序

    使用QSystemTrayIcon类可以实现托盘程序.在这里使用QMainWindow做实例: mainwindow.h头文件 #ifndef MAINWINDOW_H #define MAINWIN ...

  4. WinForm设置任务栏托盘程序

    程序设计界面如下图所示: 1.在程序初始化加载的时候设置程序图标,具体code如下: private void Form1_Load(object sender, EventArgs e) { //t ...

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

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

  6. C#编写WIN32系统托盘程序

    基本功能概述: 程序运行后驻留系统托盘,左键呼出,右键退出.后续可加右键菜单. 注册系统案件WIN+F10,呼出程序. 重写系统消息,最小化和关闭按钮隐藏程序 using System; using ...

  7. C#托盘程序设置

    打开Microsoft Visual Studio 2010,新建解决方案--添加项目--托盘的实现     从工具栏里,把NotifyIcon控件拖到窗体上,并设置属性: 1.visible 设置默 ...

  8. 利用"NOTIFYICONDATA"实现MFC的托盘程序

    本文章为转发百度空间内容,,保存一下,以防以后用到.. 一.自定义信息 在头文件中加入下面这句话: #define WM_SHOWTASK (WM_USER+1) 二.MYDLG.CPP文件中添加_m ...

  9. Winform设置托盘程序,托盘显示

    1.拖一个NotifyIcon,一个ContextMenuStrip控件到主窗体中 2.设置notifyIcon1,一个contextMenuStrip1(如下图) Icon为托盘图标,Text托盘显 ...

随机推荐

  1. webapi swagger学习笔记

    版权声明:部分摘抄其他博主朋友的博文内容,旨在分享学习,如给您带来不便,请原谅.原文地址 http://www.cnblogs.com/yanweidie/p/5709113.html#_label3 ...

  2. 010-centos上安装matlab

    #001-下载matlab_R2015b和破解文件(四个)到百度云盘上下载7.6g#002-上传matlab大文件先安装vm tools,然后直接复制到虚拟机桌面#003-挂载matlab镜像并安装m ...

  3. JSTL—标签

    什么是JSTL标签? Jsp标准标签库(JSP Standerd Tag Library) JSTL的优点是什么? 1) 提供一组标准的标签 2)可用于编写动态功能 使用JSTL的步骤? 1)引入ja ...

  4. UVM中的regmodel建模(二)

    UVM的寄存器模型,对一个寄存器bit中有两种数值,mirror值,尽可能的反映DUT中寄存器的值.expected值,尽可能的反映用户期望的值. 几种常用的操作: read/write:可以前门访问 ...

  5. 圆的k次面积并

    搬运别人的 https://vjudge.net/problem/SPOJ-CIRUT //china no.1 #pragma comment(linker, "/STACK:102400 ...

  6. OnClick,OnClientClick和OnServerClick的区别

       OnClientClick是客户端事件处理方法,一般采用JavaScript来进行处理,也就是直接在IE端运行,一点击就运行 OnClick是服务器端事件处理方法,在服务器端也就是IIS中运行, ...

  7. 360在线网站安全检测,web安全测试AppScan扫描工具,XSS常用的攻击手法

    360在线网站安全检测,web安全测试AppScan扫描工具,XSS常用的攻击手法 如何做好网站的安全性测试 360网站安全检测 - 在线安全检测,网站漏洞修复,网站后门检测http://websca ...

  8. JavaScript位运算符 2

    按位运算符是把操作数看作一系列单独的位,而不是一个数字值.所以在这之前,不得不提到什么是“位”: 数值或字符在内存内都是被存储为0和 1的序列,每个0和1被称之为1个位,比如说10进制数据2在计算机内 ...

  9. 基于GIT的管理

    常用命令 git init : 初始化仓库git add 文件名 :把文件添加到暂存区git commit -m "操作记录" : 提交到仓库,设置相关操作的记录 git stat ...

  10. Django国际化和本地化

    把django的这篇文档看了一遍,基本弄懂了,讲的也挺详细的 https://docs.djangoproject.com/en/1.6/topics/i18n/ 首先是国际化和本地化概念: 1,国际 ...