C# 实现最小化托盘功能
winform程序实现最小化托盘显示
1.创建新的解决方案,解决方案名称和路径自定义
2.在解决方案下面新建一个窗体,从左边工具箱,将NotifyIcon拖过去窗体,该控件的作用是:运行程序期间在Windows任务栏右侧的通知区域显示图标(也就是我们所说的托盘显示),如下图

3.我们可以设置该控件的相关属性值,直接上代码了
//调整窗体大小的时候触发的事件
private void Form1_Resize(object sender, EventArgs e)
{
if (this.WindowState==FormWindowState.Minimized)//当窗体设置值为最小化时
{
notifyIcon1.Visible = true;//该控件可见
this.ShowInTaskbar = false;//在任务栏中显示该窗口
}
else
{
notifyIcon1.Visible = false;//否则该控件不可见
}
}
//双击该控件时触发的事件
private void notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e)
{
this.Visible = true;//
this.WindowState = FormWindowState.Normal;//窗口正常显示
this.ShowInTaskbar = true;//在任务栏中显示该窗口
}
还有一点,NotifyIcon控件我们默认设置为不可见

还可以设置自己喜欢的图标作为托盘显示的icon

接下来增加一个另外的:
在NotifyIcon控件中增加一个右键菜单
1.在左边的工具栏中拖入一个上下文菜单contextMenuStrip

2.菜单上添加两个子项,显示和退出

3.双击显示和退出进入,下面直接贴代码,代码就不解释了,都有注释。
private void 显示ToolStripMenuItem_Click(object sender, EventArgs e)
{
this.Visible = true;//可见
this.WindowState = FormWindowState.Normal;//正常显示
this.ShowInTaskbar = false;//在任务栏中显示该窗口
} private void 退出ToolStripMenuItem_Click(object sender, EventArgs e)
{
this.Close();//退出程序
}
4.接下来是最关键的一步,是将 contextMenuStrip 和 NotifyIcon联系起来的操作,如下图:

ok,到这里的话整个托盘显示的过程已经完成了,以上功能亲测过,如果上文有写错的地方或者有不理解的可以欢迎留言指正。
C# 实现最小化托盘功能的更多相关文章
- C# 开机自启动和最小化托盘显示
C# 开机自启动和最小化托盘显示 一. C# 开机自启动 C# 开机自启动,这个功能是大多数服务型软件很常用一个功能,但是这个功能确是不 太好做,花了两天想对策.不过最终呢,结果还是很满意的 ...
- Electron 无边框窗口最大化最小化关闭功能
Electron 无边框窗口最大化最小化关闭功能 目的 实现无边框窗口,并添加最大化最小化和关闭功能 前提 了解Electron 主进程和渲染进程的通讯 了解 BrowserWindow相关功能 操作 ...
- WPF实现窗口最小化到托盘,并且实现右击菜单
原版是从网上找了一位大神的,自己只是用了一点适合自己的. 具体实现 1.首先已经确认WPF中没有实现最小化托盘的类与方法,用到了winform中的程序集 using Drawing = System. ...
- PyQt:无边框自定义标题栏及最大化最小化窗体大小调整
环境 Python3.5.2 PyQt5 陈述 隐藏掉系统的控制栏,实现了自定义的标题控制栏,以及关闭/最大化/最小化的功能,自由调整窗体大小的功能(跟随一个大佬学的),代码内有详细注释 只要把Mai ...
- 【VS开发】开发最小化到托盘的功能
在VC++中,想实现最小化MFC程序的时候,最小化到系统托盘,需要调用NOTIFYICONDATA类 下面我们就来讲解一下如何简单实现一个系统托盘我们以对话框程序为列 第一步:在Dlg类中//定义一个 ...
- VC++ 最小化到托盘、恢复
所谓的“托盘”,在Windows系统界面中,指的就是下面任务条右侧,有系统时间等等的标志的那一部分.在程序最小化或挂起时,但有不希望占据任务栏的时候,就可以把程序放到托盘区. 一.托盘编程相关函数 ...
- C# WinForm窗口最小化到系统托盘
* C# WinForm窗口最小化到系统托盘http://hi.baidu.com/kfxtgtqyapouyze/item/8ccfdcd5a174a7312a35c7c3 主要功能:(1).程序启 ...
- vc++ 最小化到托盘的详细实现
在VC++中,想实现将MFC最小化到系统托盘,需要调用NOTIFYICONDATA类,并注册相应的消息,以下详细讲解如何实现: 1.声明一个NOTIFYICONDATA类,也就是NOTIFYICOND ...
- (WinForm)文件夹状态监控,最小化到托盘,开机自启动
原文 (WinForm)文件夹状态监控,最小化到托盘,开机自启动 . 文件夾監控(監測文件夾中的文件動態): //MSDN上的例子 public class Watcher { public stat ...
随机推荐
- CentOS6.8环境安装oracle 11G
本节所讲内容: oracle11g基础环境配置 数据库的三种安装方式(图形.静默.克隆) http://db-engines.com REDHAT6.5安装oracle11.2.4 ORACLE11G ...
- 特殊存储过程——触发器Trigger
触发器类型 insert 触发器delete 触发器update 触发器 Inserted和Deleted两个临时表的作用 Inserted:对于插入记录操作来说,插入表里存放的是要插入的数据:对于更 ...
- XF 彩色矩形块
<?xml version="1.0" encoding="utf-8" ?> <ContentPage xmlns="http:/ ...
- JS 数组两种定义方式
<!DOCTYPE html><html lang="en" xmlns="http://www.w3.org/1999/xhtml"> ...
- Delphi Android 将Google ZXing 整合(调用Jar文件)
前篇文章介绍了在delphi App(以下简称App)中可使用intent来调用Google ZXing 条码扫描器(以下简称zx),其各有优缺点,优点是我们不需关注zx本身的细节,只需调用其接口即可 ...
- Win10《芒果TV》商店版更新v3.2.5:新增会员频道,修复多处细节问题,小年快乐
听因乐不凡,尽在芒果TV,湖南卫视大型音乐竞技节目<歌手>,每周六晚22:30在芒果TV与湖南卫视同步直播,1月20日周五晚七点半,2016-2017湖南卫视<小年夜春晚>会员 ...
- Advanced Installer读取注册表时将Program Files读取为Program Files (x86)的解决办法
原文:Advanced Installer读取注册表时将Program Files读取为Program Files (x86)的解决办法 今天同事在做安装包的时候,有一个读取注册表路径的需求,需要根据 ...
- CentOS安装mysq
一安装依赖 yum -y install libaio.so.1 libgcc_s.so.1 libstdc++.so.6 yum -y update libstdc++-4.4.7-4.el6.x8 ...
- URL重写 httpModules IIS7
<system.web> <httpModules> <!--URL重写:IIS 及以下用次处配置--> <!--add name="MyHttpM ...
- [2017.02.21-22] 《Haskell趣学指南 —— Learning You a Haskell for Great Good!》
{- 2017.02.21-22 <Haskell趣学指南 -- Learning You a Haskell for Great Good!> 学习了Haskell的基本语法,并实现了一 ...