首页 > 编程 > C# > 正文

WinForm实现最小化到系统托盘方法实例详解

2020-01-24 01:49:04
字体:
来源:转载
供稿:网友

本文实例讲述了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; //托盘图标隐藏}

例题:

private ContextMenu notifyiconMnu;#region 最小化到任务栏/// <summary>/// 最小化到任务栏/// </summary>private void Initializenotifyicon(){  //定义一个MenuItem数组,并把此数组同时赋值给ContextMenu对象   MenuItem[] mnuItms = new MenuItem[3];  mnuItms[0] = new MenuItem();  mnuItms[0].Text = "显示窗口";  mnuItms[0].Click += new System.EventHandler(this.notifyIcon1_showfrom);  mnuItms[1] = new MenuItem("-");  mnuItms[2] = new MenuItem();  mnuItms[2].Text = "退出系统";  mnuItms[2].Click += new System.EventHandler(this.ExitSelect);  mnuItms[2].DefaultItem = true;  notifyiconMnu = new ContextMenu(mnuItms);  notifyIcon1.ContextMenu = notifyiconMnu;  //为托盘程序加入设定好的ContextMenu对象 }private void notifyIcon1_DoubleClick(object sender, EventArgs e){  if (this.WindowState == FormWindowState.Minimized)  {    this.Show();    this.ShowInTaskbar = true;     this.WindowState = FormWindowState.Normal;     notifyIcon1.Visible = false;   }}public void notifyIcon1_showfrom(object sender, System.EventArgs e){  if (this.WindowState == FormWindowState.Minimized)  {    this.Show();    this.ShowInTaskbar = true;    this.WindowState = FormWindowState.Normal;    notifyIcon1.Visible = false;  }}public void ExitSelect(object sender, System.EventArgs e){  //隐藏托盘程序中的图标   notifyIcon1.Visible = false;  //关闭系统   this.Close();  this.Dispose(true);}#endregionprivate void Form_main_SizeChanged(object sender, EventArgs e){  if (this.WindowState == FormWindowState.Minimized)  //判断是否最小化  {    notifyIcon1.Visible = true;    this.Hide();    this.ShowInTaskbar = false;    Initializenotifyicon();  }}

希望本文所述对大家的C#程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表