热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

NotifyIcon控件

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

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

如下图所示:

 

向Form1窗口中添加一个NotifyIcon控件,修改其Name属性为 TheNotifyIcon。修改其Text属性为订单提醒,与应用程序的标题相同。这是因为NotifyIcon显示在系统托盘中时,Text属性中保存的文本为鼠标移动到程序图标上时的提示信息。修改Icon属性,为NotifyIcon添加一个图标;如下图所示:

在Form1的属性窗口上,把Icon 属性也选择为与NotifyIcon相同的图标。修改ShowInTaskBar属性值为False,这样,应用程序在运行时就不会出现在任务栏中;

 

添加双击TheNotifyIcon时的事件处理代码(DoubleClick)

1 private void TheNotifyIcon_DoubleClick(object sender, EventArgs e)
2 {
3 if (this.Visible)
4 {
5 this.Hide();
6 }
7 else
8 {
9 this.Show();
10 }
11 }

在使用NotifyIcon控件时,经常需要用到快捷菜单(ContextMenu控件)。使用方法为,向Form1中添加contextmenu控件,添加两个功能,一个为打开主界面,一个为退出。在TheNotifyIcon的ContextMenu属性中选择刚刚添加的ContextMenu控件。这样在图标上可以通过快捷菜单执行程序的各种功能.

在功能的单击事件中代码如下:

1 //显示主界面
2 private void toolStripMenuItem1_Click(object sender, EventArgs e)
3 {
4 if (this.Visible)
5 {
6 this.Hide();
7 }
8 else
9 {
10 this.Show();
11 }
12 }
13
14 //关闭
15 private void toolStripMenuItem2_Click(object sender, EventArgs e)
16 {
17 this.Close();
18 }

最小化窗体时,在系统托盘区域显示程序图标,并有气球提示,时间为30秒. 效果如图,具体实现如下:

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

这样就实现了上述功能,需要强调的是:代码this.TheNotifyIcon.ShowBalloonTip(30, "消息提醒", "现在是托盘状态!", ToolTipIcon.Info);为气球提示的实现,代码WindowState == FormWindowState.Minimized为窗体最小化的判断条件,代码this.WindowState = FormWindowState.Normal;为窗体还原的实现.

 

转:https://www.cnblogs.com/liubeimeng/p/3881060.html



推荐阅读
  • ServletContext接口在Java Web开发中扮演着重要角色,它提供了一种方式来获取关于整个Web应用程序的信息。通过ServletContext,开发者可以访问初始化参数、共享数据以及应用资源。 ... [详细]
  • 本文探讨了Java编程中MVC模式的优势与局限,以及如何利用Java开发一款基于鸟瞰视角的赛车游戏。 ... [详细]
  • 本文详细介绍了ASP.NET缓存的基本概念和使用方法,包括输出缓存、数据缓存及其高级特性,如缓存依赖、自定义缓存和缓存配置文件等。通过合理利用这些缓存技术,可以显著提升Web应用程序的性能。 ... [详细]
  • 在Kubernetes集群中部署Kuboard
    本文详细介绍了如何在Kubernetes(简称k8s)环境中部署Kuboard,包括必要的命令和步骤,帮助用户顺利完成安装。 ... [详细]
  • 在Win10上利用VS2015构建Caffe2环境
    本文详细介绍如何在Windows 10操作系统上通过Visual Studio 2015编译Caffe2深度学习框架的过程。包括必要的软件安装、环境配置以及常见问题的解决方法。 ... [详细]
  • 本文介绍如何创建一个专门用于处理浮点数的JSON处理器,并将其注册到JSON配置器中,以实现对浮点数的精确控制和格式化输出。 ... [详细]
  • 微信小程序实现拍照与图片上传功能
    本文介绍如何在微信小程序中实现用户通过拍照或从相册选择图片,并将图片上传至服务器的功能,包括调用相关API和处理上传响应。 ... [详细]
  • AJAX技术允许网页在不重新加载整个页面的情况下进行异步更新,通过向服务器发送请求并接收JSON格式的数据,实现局部内容的动态刷新。 ... [详细]
  • 本文探讨如何使用 PHP 进行字符串处理,特别是如何检测一个字符串是否存在于另一个字符串中,并确定其具体位置。通过实例代码展示,帮助读者掌握这一常用功能。 ... [详细]
  • [Head First设计模式笔记]命令模式
    命令模式定义:将“请求”封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。命令模式也支持可撤销的操作。类图:适用设计方案举例:实现一种遥控器,该遥控器具有七个可编程的插 ... [详细]
  • 本文介绍了如何使用Gradle和gdx-setup.jar工具来创建LibGDX项目,包括详细的步骤和注意事项,适合初学者和有经验的开发者。 ... [详细]
  • 本文探讨了在JavaScript中执行字符串形式代码的多种方法,包括使用eval()函数以及跨页面调用的方法。同时,文章详细介绍了JavaScript中字符串的各种常用方法及其应用场景。 ... [详细]
  • Flowable 6.6.0 表单引擎在Web应用中的集成与使用
    本文档提供了Flowable 6.6.0版本中表单引擎在Web应用程序中的配置和使用指南,包括表单引擎的初始化、配置以及在Web环境下的具体实现方法。 ... [详细]
  • 深入理解设计模式之观察者模式
    本文详细介绍了观察者模式,这是一种行为设计模式,适用于当对象状态发生变化时,需要通知其他相关对象的场景。文中不仅解释了观察者模式的基本概念,还通过Java代码示例展示了其实现方法。 ... [详细]
  • 本文深入探讨了Scala中的隐式转换机制,包括其在类扩展、隐式解析规则以及隐式参数和上下文绑定等方面的应用。通过具体示例,详细解释了如何利用隐式转换增强类的功能。 ... [详细]
author-avatar
元元木樨_669
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有