天天看点

C# 系统应用之窗体最小化至任务栏及常用操作

1.创建"windows窗体应用程序"项目,从"工具箱"中添加notifyicon(运行时期间在windows任务栏右侧的通知区域显示图标).鼠标右击notifyicon1属性,为控件属性icon添加图标,text属性为"csdn".

2.添加contextmenustrip(当用户右击关联控件时显示快键菜单).鼠标右键contextmenustrip1属性,进入items添加或右键"编辑项".添加3个toolstripmenuitem,设置其text为"显示窗体"、"隐藏窗体"、"退出".如下图所示:

C# 系统应用之窗体最小化至任务栏及常用操作

3.关联系统托盘图标与右键菜单.设置notifyicon1的contextmenustrip属性为contextmenustrip1关联两个控件.运行程序,右下角任务栏的系统托盘处图标点击右键显示如下图所示:

C# 系统应用之窗体最小化至任务栏及常用操作

 窗体设置主要是当窗体点击"退出"按钮时,任务栏仍然显示图标且程序没有退出.设置form1的maximizebox(窗体是否能最大化)属性设置为false,让其不能最大化.并为form1添加formclosing(当用户关闭窗体时,在窗体已关闭并制定关闭原因前发生)事件.如下图所示.

C# 系统应用之窗体最小化至任务栏及常用操作

添加代码如下,主要实现的功能是当用户点击窗体"关闭"按钮或通过alt+f4快捷关闭时,取消关闭操作且窗体隐藏,任务栏图标仍然显示:

注意:添加的事件是form_closing-窗体关闭前发生,而不是form_closed窗体已关闭发生.它没有e.cancel属性,会提示错误 "system.windows.forms.formclosedeventargs"不包含cancel的定义.

常见的窗体最小化至任务栏(系统托盘)图标的功能:

1.当鼠标左键点击图标时,显示窗体.

2.当鼠标右键点击图标时,显示"显示窗体"\"隐藏窗体"\"退出"菜单栏,并有相对应的功能.

具体操作是:分别点击"显示窗体"\"隐藏窗体"\"退出"在其属性栏中添加"click"事件.添加代码如下:

其中,窗体的状态formwindowstate有minimized(最小化)、maximized(最大化)、normal(默认大小).有的程序设置sizechanged事件,当用户点击"最小化"按钮窗体尺寸变化时才最小化至任务栏(系统托盘).但我认为打开程序时就有最小化图标更好,同时添加formclosing事件更符合用户使用.点击"退出"运行结果如下图所示:

C# 系统应用之窗体最小化至任务栏及常用操作

最后添加鼠标左键图标显示窗体功能.右键notifyicon1属性,添加mouseclick(鼠标单击组件时发生)事件.添加代码如下:

源代码如下:

该文章主要是结合自己的项目完成,主要是窗体最小化至任务栏(系统托盘)同时包括一些常用操作.同时下面两篇文章涉及到点击"最小化"按钮才实现最小到任务栏的文章,与该篇文章略有不同,如果想做这方面的可以阅读.感谢两位文章作者.

<a target="_blank" href="http://blog.sina.com.cn/s/blog_45eaa01a01013u36.html">http://blog.sina.com.cn/s/blog_45eaa01a01013u36.html</a>

<a target="_blank" href="http://blog.csdn.net/furturerock/article/details/5687793">http://blog.csdn.net/furturerock/article/details/5687793</a>

最后,希望文章对大家有所帮助,如果该篇文章中有错误或不足之处,请大家海涵!

继续阅读