架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

搜索
查看: 20783|回复: 1

[WinForm] winform最小化到托盘,托盘右击菜单显示

[复制链接]
发表于 2016-6-22 16:44:44 | 显示全部楼层 |阅读模式
QQ截图20160622164020.jpg

添加notifyIcon控件,并添加Icon,否则托盘没有图标(托盘右键菜单也可直接在属性里添加);

主要的代码:

  1. public partial class Form1 : Form
  2.     {
  3.         #region
  4.         //创建NotifyIcon对象
  5.         NotifyIcon notifyicon = new NotifyIcon();
  6.         //创建托盘图标对象
  7.         Icon ico = new Icon("u9.ico");
  8.         //创建托盘菜单对象
  9.         ContextMenu notifyContextMenu = new ContextMenu();
  10.         #endregion
  11.         public Form1()
  12.         {
  13.             InitializeComponent();
  14.         }

  15.         private void Form1_Load(object sender, EventArgs e)
  16.         {
  17.             //设置鼠标放在托盘图标上面的文字
  18.             this.notifyIcon1.Text = "码农网测试";
  19.         }

  20.         /// <summary>
  21.         /// 最小化到托盘
  22.         /// </summary>
  23.         /// <param name="sender"></param>
  24.         /// <param name="e"></param>
  25.         private void Form1_SizeChanged(object sender, EventArgs e)
  26.         {
  27.             //判断是否选择的是最小化按钮
  28.             if (WindowState == FormWindowState.Minimized)
  29.             {
  30.                 //托盘显示图标等于托盘图标对象
  31.                 //注意notifyIcon1是控件的名字而不是对象的名字
  32.                 notifyIcon1.Icon = ico;
  33.                 //隐藏任务栏区图标
  34.                 this.ShowInTaskbar = false;
  35.                 //图标显示在托盘区
  36.                 notifyicon.Visible = true;
  37.             }
  38.         }


  39.         /// <summary>
  40.         /// 托盘单击事件
  41.         /// </summary>
  42.         /// <param name="sender"></param>
  43.         /// <param name="e"></param>
  44.         private void notifyIcon1_MouseClick(object sender, MouseEventArgs e)
  45.         {
  46.             switch (e.Button)
  47.             {
  48.                 case System.Windows.Forms.MouseButtons.Left:    //左击
  49.                     //判断是否已经最小化于托盘
  50.                     if (WindowState == FormWindowState.Minimized)
  51.                     {
  52.                         //还原窗体显示
  53.                         WindowState = FormWindowState.Normal;
  54.                         //激活窗体并给予它焦点
  55.                         this.Activate();
  56.                         //任务栏区显示图标
  57.                         this.ShowInTaskbar = true;
  58.                         //托盘区图标隐藏
  59.                         notifyicon.Visible = false;
  60.                     }
  61.                     break;
  62.                 case System.Windows.Forms.MouseButtons.Right:
  63.                     //MessageBox.Show("右键");
  64.                     break;
  65.             }
  66.         }
  67.     }
复制代码


winform最小化到托盘,托盘右击菜单显示demo下载:

Demo.rar (276.61 KB, 下载次数: 16)




上一篇:c#导出资源文件到硬盘
下一篇:给fiddler添加监测请求的 ip地址
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2016-6-23 21:25:30 | 显示全部楼层
支持一下
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2026-7-5 18:23

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表