C# 编写的winform程序的托盘功能

基本上大部分的桌面程序都有托盘功能,比如说QQ:当你单机QQ程序窗体的最小化按钮时,窗体会消失,并且单击电脑右下角的QQ图标时,QQ的窗体重新显现……

在这里介绍下我们自己编写的winform程序怎么实现托盘功能。

在System.Windows.Forms命名空间下的 封闭类 NotifyIcon可以帮我们轻松实现托盘功能。(程序集 System.Windows.Forms.dll)

在窗体的加载事件的处理方法中我们添加一下代码:

            NotifyIcon MyNotifyIcon = new NotifyIcon();//实例化

            MyNotifyIcon.Visible = true;//可见性
            MyNotifyIcon.Text = "我的托盘程序";//鼠标放在托盘时显示的文字
            MyNotifyIcon.ShowBalloonTip(1000);//托盘气泡的显现时间
            MyNotifyIcon.BalloonTipText = "我的托盘程序";//气泡显示的文字
            MyNotifyIcon.Icon = System.Drawing.Icon.ExtractAssociatedIcon(System.Windows.Forms.Application.ExecutablePath);//托盘的外观(系统)

            //自定义托盘外观
            //Icon i = new Icon("FileName");
            //MyNotifyIcon.Icon = i;
            MyNotifyIcon.MouseDoubleClick += MyNotifyIcon_MouseDoubleClick;//托盘的鼠标窗机时间注册方法    

然后我们编写托盘双击的时候执行的方法

 void MyNotifyIcon_MouseDoubleClick(object sender, MouseEventArgs e)
        {
            this.Show(); // 窗体显现
            this.WindowState = FormWindowState.Normal; //窗体回复正常大小
        }

然后在给窗体的大小改变事件注册一个方法

this.Resize += Form1_Resize;
Form1_Resize()方法内容:
//单机窗体最小化时窗体隐藏
void Form1_Resize(object sender, EventArgs e)
        {
            if (this.WindowState == FormWindowState.Minimized)
            {
                this.Hide();
            }
        }

以上内容简单方便的实现了Winform的托盘功能。

时间: 2024-08-27 10:42:35

C# 编写的winform程序的托盘功能的相关文章

winForm程序开机启动和托盘显示,并允许一个程序运行

1.建一个WinForm程序—TestIconForm,将其属性ShowInTaskbar改为false,这样程序将不会在任务栏中显示:将MaximizeBox属性设置为false,屏蔽掉最大化按钮:把StartPosition属性改为CerternScreen,这样程序运行后,窗口将会居中显示. 2.在工具栏中的公共控件里,拖入NotifyIcon控件—NotifyIcon1,这个是程序运行任务栏右侧通知区域图标显示控件. 3.在工具栏中的菜单和工具栏里,拖入ContextMenuStrip—

C# winForm程序开机启动和托盘显示 (转http://blog.csdn.net/xinyue3054/article/details/6599508)

这段时间一直进行cs项目,故整理下开机自动运行.托盘.显示.隐藏. (1).在窗口上点击关闭按钮或者最小化时将托盘显示: (2).双击托盘图标显示窗口: (3).右键点击托盘图标提供三个菜单选项,“退出”.“隐藏”.“显示”: (4).程序可以设置开机启动,隐藏任务栏显示.就这四个小功能. 1.建一个WinForm程序—FormAuto,将其属性ShowInTaskbar改为false,这样程序将不会在任务栏中显示:将MaximizeBox属性设置为false,屏蔽掉最大化按钮:把StartPo

JAVA基础-输入输出:1.编写TextRw.java的Java应用程序,程序完成的功能是:首先向TextRw.txt中写入自己的学号和姓名,读取TextRw.txt中信息并将其显示在屏幕上。

1.编写TextRw.java的Java应用程序,程序完成的功能是:首先向TextRw.txt中写入自己的学号和姓名,读取TextRw.txt中信息并将其显示在屏幕上. package Test03; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOExceptio

Java基础-输入输出-2.编写IoDemo.java的Java应用程序,程序完成的功能是:首先读取text.txt文件内容,再通过键盘输入文件的名称为iodemo.txt,把text.txt的内容存入iodemo.txt

2.编写IoDemo.java的Java应用程序,程序完成的功能是:首先读取text.txt文件内容,再通过键盘输入文件的名称为iodemo.txt,把text.txt的内容存入iodemo.txt package Test03; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import jav

Java基础-输入输出-3.编写BinIoDemo.java的Java应用程序,程序完成的功能是:完成1.doc文件的复制,复制以后的文件的名称为自己的学号姓名.doc。

3.编写BinIoDemo.java的Java应用程序,程序完成的功能是:完成1.doc文件的复制,复制以后的文件的名称为自己的学号姓名.doc. try { FileInputStream in = new FileInputStream("e:/TextRw.txt"); FileOutputStream out = new FileOutputStream("e:/2012412440张伟.txt"); int i =0; byte[] b1 = new by

Eclipse+python的安装与使用(详细阐述了eclipse编写Python程序的基本功能及技巧)

安装环境说明: 操作系统:win7 JDK:jdk1.7.0_11 下载网址:http://www.oracle.com/technetwork/java/javase/downloads/index.html Eclipse:eclipse-jee-kepler-SR2-win32-x86_64 下载网址: http://www.eclipse.org/downloads/ http://www.eclipse.org/downloads/download.php?file=/technolo

两种方法实现托盘功能

1为了实现托盘功能,我们可以使用消息机制来进行实现 我们需要使用到windows的一个API函数:BOOL Shell_NotifyIcon( DWORD dwMessage, PNOTIFYICONDATA lpdata);其中dwMessage可以取以下值: NIM_ADD 向托盘中加入一个图标 NIM_MODIFY 修改托盘中的图标 NIM_DELETE 从托盘中删除一个图标 参数pnid是NOTIFYICONDATA结构的一个引用.该结构的原型如下: typedef struct _NO

使用efwplusScript开发Winform程序【像小程序那样开发PC软件】

一.前言 本人从事多年医疗管理软件的开发,在医院大多数的软件都还是CS程序,BS程序很少,对于使用者来说CS的操作体验确实比BS的要好. 1.CS的缺点就是升级麻烦,每次有新版本都需要所有客户端操作升级.有没有办法像BS程序那样刷新一下页面就是最新程序? 2.还有就是企业软件项目个性化需求都特别多,特别是界面上的每一个项目可能要求都不太一样,比如表单录入一个项目一个版本是很正常的现象,那有没有办法把界面层的开发单独出来,采用配置的方式了? 3.另外就是现在的开发模式,如果在现场修改问题太麻烦了,

C#Winform程序如何发布并自动升级(图解)

有不少朋友问到C#Winform程序怎么样配置升级,怎么样打包,怎么样发布的,在这里我解释一下打包和发布 关于打包的大家可以看我的文章C# winform程序怎么打包成安装项目(图解) 其实打包是打包,发布是发布两者是没有任何关系的,只是有些同志会分不清楚.混在一起了. 下在面大家就和我一起来做一个发布并升级的程序吧. 首先我们准备几个工作 1.新建一个存储发布后程序的目录比如D:\iis\textWinform  以下简称-- 发布目录 2.在IIS新建一个网站并指向目录D:\iis\auto