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

所属分类: 软件编程 / C#教程 阅读数: 42
收藏 0 赞 0 分享

本文实例讲述了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);
}
#endregion
private void Form_main_SizeChanged(object sender, EventArgs e)
{
  if (this.WindowState == FormWindowState.Minimized)
  //判断是否最小化
  {
    notifyIcon1.Visible = true;
    this.Hide();
    this.ShowInTaskbar = false;
    Initializenotifyicon();
  }
}

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

更多精彩内容其他人还在看

C#使用oledb读取excel表格内容到datatable的方法

这篇文章主要介绍了C#使用oledb读取excel表格内容到datatable的方法,涉及C#操作oledb及datatable的相关技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

C#使用oledb操作excel文件的方法

这篇文章主要介绍了C#使用oledb操作excel文件的方法,涉及C#中oledb操作excel的相关技巧,非常具有实用价值,需要的朋友可以参考下
收藏 0 赞 0 分享

C#使用IHttpModule接口修改http输出的方法

这篇文章主要介绍了C#使用IHttpModule接口修改http输出的方法,涉及C#操作IHttpModule接口的相关技巧,非常具有实用价值,需要的朋友可以参考下
收藏 0 赞 0 分享

C#给图片加水印的简单实现方法

这篇文章主要介绍了C#给图片加水印的简单实现方法,涉及C#操作图片的相关技巧,非常具有实用价值,需要的朋友可以参考下
收藏 0 赞 0 分享

C#生成随机数的方法小结

这篇文章主要介绍了C#生成随机数的方法,实例总结了C#生成随机数的相关技巧,非常具有实用价值,需要的朋友可以参考下
收藏 0 赞 0 分享

C#使用jQuery实现无刷新评论提交的方法

这篇文章主要介绍了C#使用jQuery实现无刷新评论提交的方法,涉及C#结合jQuery进行Ajax操作的相关技巧,非常具有实用价值,需要的朋友可以参考下
收藏 0 赞 0 分享

C#读取中文文件出现乱码的解决方法

这篇文章主要介绍了C#读取中文文件出现乱码的解决方法,涉及C#中文编码的操作技巧,非常具有实用价值,需要的朋友可以参考下
收藏 0 赞 0 分享

C#图像对比度调整的方法

这篇文章主要介绍了C#图像对比度调整的方法,涉及C#实现图像对比度操作的相关技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

C#图像灰度级拉伸的方法

这篇文章主要介绍了C#图像灰度级拉伸的方法,涉及C#灰度操作的相关技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

C#图像线性变换的方法

这篇文章主要介绍了C#图像线性变换的方法,涉及C#操作图像线性变换的相关技巧,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多