通知区域中的图标是一些进程的快捷方式,这些进程在计算机后台运行,如防病毒程序或音量控制。这些进程不会具有自己的用户界面。NotifyIcon 类提供了编写此功能的方法。Icon属性定义显示在通知区域中的图标。图标的弹出菜单由 ContextMenu属性确定。Text属性分配工具提示文本。要在通知区域中显示图标,必须将 Visible属性设置为 true

具体使用方法:

(1)新创建一个项目Form1,text属性修改为托盘演示;
(2)向Form1窗口中添加一个NotifyIcon控件,修改其Name属性为 MyNotifyIcon。修改其Text属性为
   托盘演示,与应用程序的标题相同。这是因为NotifyIcon显示在系统托盘中时,Text属性中保存的
   文本为鼠标移动到程序图标上时的提示信息。修改Icon属性,为NotifyIcon添加一个图标;
(3)在Form1的属性窗口上,把Icon属性也选择为与NotifyIcon相同的图标。修改ShowInTaskBar属性值为
    False,这样,应用程序在运行时就不会出现在任务栏中;
(4)添加双击NotifyIcon时的事件处理代码(DoubleClick)
   private void MynotifyIcon_DoubleClick(object sender, System.EventArgs e)
   {
     if(this.Visible)
      {
        this.Hide();
      }else
           {
             this.Show();
           }
      }
(5)在使用NotifyIcon控件时,经常需要用到快捷菜单(ContextMenu控件)。使用方法为,向Form1中添加contextmenu控件,添加两个功能,一个为打开主界面,一个为退出。在NotifyIcon的ContextMenu属性中选择刚刚添加的ContextMenu控件。这样在图标上可以通过快捷菜单执行程序的各种功能。  
在功能的单击事件中代码如下:

private void 打开主界面ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (this.Visible)
            {
                this.Hide();
            }
            else
            {
                this.Show();
            }

}

private void 退出ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            this.Close();
        }

这篇文章继续介绍系统托盘NotifyIcon的使用,项目实现效果为:最小化窗体时,在系统托盘区域显示程序图标,并有气球提示,时间为30秒。效果如图,具体实现如下:

1、创建一个新的项目From1;修改其Text属性为“系统托盘演示”,修改其ShowInTaskbar属性为False,为其添加一个图标。

2、添加一个NotifyIcon控件NotifyIcon1,修改其Text属性为“系统托盘演示”,为其添加一个图标,与From1图标相同。

3、添加一个ContextMenuStrip控件ContextMenuStrip1,添加两个MenuItem,Text属性分别为打开,退出。 并在NotifyIcon控制中的ContextMenuStrip属性中选择刚刚创建的ContextMenuStrip1控件。

4、下面将处理具体事件:

(1)Form1_SizeChanged事件,效果为最小化窗体时,在系统托盘区域显示程序图标及气球提示:

private void Form1_SizeChanged(object sender, EventArgs e)
        {
            if (WindowState == FormWindowState.Minimized)
            {
                this.Hide();
                this.notifyIcon1.Visible = true;
                this.notifyIcon1.ShowBalloonTip(30, "注意", "大家好,这是一个事例", ToolTipIcon.Info);
            }
           
        }

(2)NotifyIcon控件的doubleclick事件及两个menuitem的click事件:

private void notifyIcon1_DoubleClick(object sender, EventArgs e)
        {
            this.Show();
            this.WindowState = FormWindowState.Normal;
        }

private void toolStripMenuItem2_Click(object sender, EventArgs e)
        {
            this.Close();
        }

private void toolStripMenuItem1_Click(object sender, EventArgs e)
        {
            this.notifyIcon1.Visible = false;
            this.Show();
            this.WindowState = FormWindowState.Normal;
        }

这样就实现了上述功能,需要强调的是:代码this.notifyIcon1.ShowBalloonTip(30, "注意", "大家好,这是一个事例", ToolTipIcon.Info);为气球提示的实现,代码WindowState == FormWindowState.Minimized为窗体最小化的判断条件,代码this.WindowState = FormWindowState.Normal;为窗体还原的实现。

右侧程序截图:

转自<星梦>

转载于:https://www.cnblogs.com/ChangTan/archive/2010/07/06/1772522.html

转载C# -- 系统托盘NotifyIcon控件相关推荐

  1. WPF 使用NotifyIcon控件

    转载自:https://www.cnblogs.com/celery94/archive/2010/10/26/1861371.html 1.在什么地方找到NotifyIcon 普通的WPF控件基本上 ...

  2. UITableView (4): 在TableView中移动cell和Section 从TableView中删除cell和section 添加系统默认刷新控件...

    一  .问题:你想用流畅直观的动画来移动和拖拽TableView中的cell和section 方案: 用moveSection:toSection:方法把一个Section移动到新位置. 用moveR ...

  3. 64位操作系统注册ocx控件失败,提示:模块加载失败请确保该二进制存储在指定路径中。

    64位操作系统注册ocx控件失败,提示:模块加载失败请确保该二进制存储在指定路径中 我的解决方案: 1.找到位于windows下的syswow64文件夹下的cmd 2.并拷贝需注册的ocx文件到sys ...

  4. [导入]下面为转载的对于招行安全控件的分析

    下面为转载的对于招行安全控件的分析(很遗憾作者不详无法表明) 1) 在登录界面上有数字验证码来防止暴力攻击 2) 安全登录控件中包含两个控件:帐户和密码输入控件 3) 用户输入登录信息后,提交时 Ja ...

  5. Win7 64位系统 注册 ocx控件

    32位系统注册ocx就不谈了.网上一搜一大把.下面说下win7 64位 旗舰版下如果注册ocx控件 1.首先复制 XXXX.OCX文件到"C:\Windows\SysWOW64"目 ...

  6. DuiVision开发教程(7)-系统预定义控件、动作和事件

    DuiVision库中预定义了一些控件名.动作和事件,这些定义可以参考duiid.h. 对于预定义的控件名,只要某个控件定义的名字是这个名字,就会被看做为特定的控件,系统会对其事件作出响应,预定义控件 ...

  7. Qt编写可视化大屏电子看板系统11-自定义控件

    一.前言 说到自定义控件,我是感觉特别熟悉的几个字,本人亲自原创的自定义控件超过110个,都是来自各个行业的具体应用真实需求,而不是凭空捏造的,当然有几个小控件也有点凑数的嫌疑,在编写整个数据可视化大 ...

  8. 【转】WPF从我炫系统5---基本控件的用法

    今天我来给大家讲解WPF中一些基本控件的用法,所谓基本控件,就是我们最常用用到的一些控件,通过这一节的讲解,大家会对WPF中的控件的用法有一个更深入的了解. 1.       基本控件 LABEL控件 ...

  9. 【机房收费系统】--SSTab控件与MSHFlexGrid控件

    SSTab控件 SSTab控件提供了一组选项卡,每个都充当一个容器,包含了其他的控件. 1.VB中加载SSTab控件: 在 工程→部件→控件 中勾选"Microsoft Tabbed Dia ...

  10. 手把手教你BCGControlBar MFC界面控件“起航”技巧(文章转载自:慧都控件网)

    BCGControlBar是全球最大的MFC控件套包,由微软指定合作控件开发商BCGSoft公司开发,主要用于构建类似Microsoft® Office 2000/XP/2003/2007/2010. ...

最新文章

  1. Android app按三层架构+MVC整理(重构)代码可行吗
  2. Python变量本质
  3. 虚拟打印机开发日志(一):使用x64 WIN7编译环境编译的完整步骤
  4. 人工智能学习--文本检测实践
  5. C-Lodop回调函数的触发
  6. python字典格式_python – 格式self,这是一个字典
  7. JavaScript中奇妙的replace
  8. 英语口语 week14 Friday
  9. mysql 如何按时间备份_如何用mysqldump进行全量和时间点备份
  10. ADOBE CS3 序列号
  11. Windows10 电脑蓝屏方案对照表
  12. Unity商店下载的资源路径
  13. Python Scrapy - Ins爬虫
  14. 12 个在线学习 Linux 技能网站
  15. 华云大咖说 | 安超虚拟化平台全“芯”亮点揭秘
  16. java sound 混音_iOS音频编程之混音
  17. ubuntu 修改开机启动项默认值
  18. 【Python游戏外挂】满级小孩进新手村,实现连连看外挂秒杀
  19. win10显示rpc服务器不可用,win10系统打印机提示rpc服务器不可用的操作技巧
  20. STM32学习笔记(五)433M无线发射接收模块

热门文章

  1. movielens 1m 的mysql_数据分析实例-MovieLens 1M 数据集
  2. python3GUI--浏览器By:PyQt5(附源码)
  3. CCNA考试题库中英文翻译版及答案2
  4. 数据分析的法宝---箱形图(Box Plot)
  5. FastDFS原理及维护
  6. ad转3d视图快捷键_AD 常用快捷键
  7. NFC开发 - Android
  8. 【Python古诗词鉴赏小程序】千古绝唱,精选中国最美古诗句,经典咏流传~
  9. SAP计划策略组详细介绍
  10. 个人使用整理的部分测试数据整理-输入类2022