WinForm实现最小化到系统托盘方法实例详解
本文实例讲述了WinForm实现最小化到系统托盘方法。分享给大家供大家参考。具体分析如下:
有个叫NotifyIcon的控件
1、建个WinForm项目,其它操作略过。
2、拉个NotifyIcon控件,将属性Visable设置成False,在Text属性上随便填些文件。
3、实现Form的SizeChanged事件,代码如下:
if(this.WindowState==FormWindowState.Minimized)//判断是否最小化 { this.ShowInTaskbar=false;//不显示在系统任务栏 notifyIcon.Visible=true;//托盘图标可见 }
4、实现NotifyIcon控件的DoubleClick事件,代码如下:
if(this.WindowState==FormWindowState.Minimized) { this.ShowInTaskbar=true;//显示在系统任务栏 this.WindowState=FormWindowState.Normal;//还原窗体 notifyIcon.Visible=false;//托盘图标隐藏 }
例题:
privateContextMenunotifyiconMnu; #region最小化到任务栏 ///<summary> ///最小化到任务栏 ///</summary> privatevoidInitializenotifyicon() { //定义一个MenuItem数组,并把此数组同时赋值给ContextMenu对象 MenuItem[]mnuItms=newMenuItem[3]; mnuItms[0]=newMenuItem(); mnuItms[0].Text="显示窗口"; mnuItms[0].Click+=newSystem.EventHandler(this.notifyIcon1_showfrom); mnuItms[1]=newMenuItem("-"); mnuItms[2]=newMenuItem(); mnuItms[2].Text="退出系统"; mnuItms[2].Click+=newSystem.EventHandler(this.ExitSelect); mnuItms[2].DefaultItem=true; notifyiconMnu=newContextMenu(mnuItms); notifyIcon1.ContextMenu=notifyiconMnu; //为托盘程序加入设定好的ContextMenu对象 } privatevoidnotifyIcon1_DoubleClick(objectsender,EventArgse) { if(this.WindowState==FormWindowState.Minimized) { this.Show(); this.ShowInTaskbar=true; this.WindowState=FormWindowState.Normal; notifyIcon1.Visible=false; } } publicvoidnotifyIcon1_showfrom(objectsender,System.EventArgse) { if(this.WindowState==FormWindowState.Minimized) { this.Show(); this.ShowInTaskbar=true; this.WindowState=FormWindowState.Normal; notifyIcon1.Visible=false; } } publicvoidExitSelect(objectsender,System.EventArgse) { //隐藏托盘程序中的图标 notifyIcon1.Visible=false; //关闭系统 this.Close(); this.Dispose(true); } #endregion privatevoidForm_main_SizeChanged(objectsender,EventArgse) { if(this.WindowState==FormWindowState.Minimized) //判断是否最小化 { notifyIcon1.Visible=true; this.Hide(); this.ShowInTaskbar=false; Initializenotifyicon(); } }
希望本文所述对大家的C#程序设计有所帮助。