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#程序设计有所帮助。