转载C# -- 系统托盘NotifyIcon控件
通知区域中的图标是一些进程的快捷方式,这些进程在计算机后台运行,如防病毒程序或音量控制。这些进程不会具有自己的用户界面。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控件相关推荐
- WPF 使用NotifyIcon控件
转载自:https://www.cnblogs.com/celery94/archive/2010/10/26/1861371.html 1.在什么地方找到NotifyIcon 普通的WPF控件基本上 ...
- UITableView (4): 在TableView中移动cell和Section 从TableView中删除cell和section 添加系统默认刷新控件...
一 .问题:你想用流畅直观的动画来移动和拖拽TableView中的cell和section 方案: 用moveSection:toSection:方法把一个Section移动到新位置. 用moveR ...
- 64位操作系统注册ocx控件失败,提示:模块加载失败请确保该二进制存储在指定路径中。
64位操作系统注册ocx控件失败,提示:模块加载失败请确保该二进制存储在指定路径中 我的解决方案: 1.找到位于windows下的syswow64文件夹下的cmd 2.并拷贝需注册的ocx文件到sys ...
- [导入]下面为转载的对于招行安全控件的分析
下面为转载的对于招行安全控件的分析(很遗憾作者不详无法表明) 1) 在登录界面上有数字验证码来防止暴力攻击 2) 安全登录控件中包含两个控件:帐户和密码输入控件 3) 用户输入登录信息后,提交时 Ja ...
- Win7 64位系统 注册 ocx控件
32位系统注册ocx就不谈了.网上一搜一大把.下面说下win7 64位 旗舰版下如果注册ocx控件 1.首先复制 XXXX.OCX文件到"C:\Windows\SysWOW64"目 ...
- DuiVision开发教程(7)-系统预定义控件、动作和事件
DuiVision库中预定义了一些控件名.动作和事件,这些定义可以参考duiid.h. 对于预定义的控件名,只要某个控件定义的名字是这个名字,就会被看做为特定的控件,系统会对其事件作出响应,预定义控件 ...
- Qt编写可视化大屏电子看板系统11-自定义控件
一.前言 说到自定义控件,我是感觉特别熟悉的几个字,本人亲自原创的自定义控件超过110个,都是来自各个行业的具体应用真实需求,而不是凭空捏造的,当然有几个小控件也有点凑数的嫌疑,在编写整个数据可视化大 ...
- 【转】WPF从我炫系统5---基本控件的用法
今天我来给大家讲解WPF中一些基本控件的用法,所谓基本控件,就是我们最常用用到的一些控件,通过这一节的讲解,大家会对WPF中的控件的用法有一个更深入的了解. 1. 基本控件 LABEL控件 ...
- 【机房收费系统】--SSTab控件与MSHFlexGrid控件
SSTab控件 SSTab控件提供了一组选项卡,每个都充当一个容器,包含了其他的控件. 1.VB中加载SSTab控件: 在 工程→部件→控件 中勾选"Microsoft Tabbed Dia ...
- 手把手教你BCGControlBar MFC界面控件“起航”技巧(文章转载自:慧都控件网)
BCGControlBar是全球最大的MFC控件套包,由微软指定合作控件开发商BCGSoft公司开发,主要用于构建类似Microsoft® Office 2000/XP/2003/2007/2010. ...
最新文章
- Android app按三层架构+MVC整理(重构)代码可行吗
- Python变量本质
- 虚拟打印机开发日志(一):使用x64 WIN7编译环境编译的完整步骤
- 人工智能学习--文本检测实践
- C-Lodop回调函数的触发
- python字典格式_python – 格式self,这是一个字典
- JavaScript中奇妙的replace
- 英语口语 week14 Friday
- mysql 如何按时间备份_如何用mysqldump进行全量和时间点备份
- ADOBE CS3 序列号
- Windows10 电脑蓝屏方案对照表
- Unity商店下载的资源路径
- Python Scrapy - Ins爬虫
- 12 个在线学习 Linux 技能网站
- 华云大咖说 | 安超虚拟化平台全“芯”亮点揭秘
- java sound 混音_iOS音频编程之混音
- ubuntu 修改开机启动项默认值
- 【Python游戏外挂】满级小孩进新手村,实现连连看外挂秒杀
- win10显示rpc服务器不可用,win10系统打印机提示rpc服务器不可用的操作技巧
- STM32学习笔记(五)433M无线发射接收模块