C# 实现WinForm窗口最小化到系统托盘代码
1、如果不想让程序在任务栏中显示,请把窗体的属性ShowInTaskbar设置为false;
2、如果想让程序启动时就最小化,请设置窗体的属性WindowState设置为Minimized。(Minimized
最小化,Normal正常启动,Maximized最大化)
3、拉一个NotifyIcon控件notifyIcon,为控件notifyIcon的属性Icon添加一个icon图标。
4、可以为NotifyIcon加一个ContextMenuStrip右键菜单menu_Notify。
5、本例子禁用了窗体最大化按钮。(设置窗体的属性MaximizeBox的属性为false)
6、主要代码:
#region
私有方法 处理窗体的 显示 隐藏 关闭(退出)
private void ExitMainForm()
{
if (MessageBox.Show("您确定要退出化验数据接收程序吗?", "确认退出",
MessageBoxButtons.OKCancel, MessageBoxIcon.Question,
MessageBoxDefaultButton.Button2) == DialogResult.OK)
{
this.notifyIcon.Visible = false;
this.Close();
this.Dispose();
Application.Exit();
}
}
private void
HideMainForm()
{
this.Hide();
}
private void ShowMainForm()
{
this.Show();
this.WindowState =
FormWindowState.Normal;
this.Activate();
}
#endregion#region 右键菜单处理,显示 隐藏 退出
private void
menuItem_Show_Click(object sender, EventArgs e)
{
ShowMainForm();
}
private void
menuItem_Hide_Click(object sender, EventArgs e)
{
HideMainForm();
}
private void
menuItem_Exit_Click(object sender, EventArgs e)
{
ExitMainForm();
}
#endregion#region
双击托盘上图标时,显示窗体
private void notifyIcon_DoubleClick(object sender,
EventArgs e)
{
if (this.WindowState ==
FormWindowState.Normal)
{
this.WindowState =
FormWindowState.Minimized;
HideMainForm();
}
else if(this.WindowState ==
FormWindowState.Minimized)
{
ShowMainForm();
}
}
#endregion
#region 点最小化按钮时,最小化到托盘
private void
frmMain_SizeChanged(object sender, EventArgs e)
{
if
(this.WindowState == FormWindowState.Minimized)
{
HideMainForm();
}
}
#endregion
#region 窗体关闭时最小化到托盘
private void
frmMain_FormClosing(object sender, FormClosingEventArgs e)
{
e.Cancel = true;
HideMainForm();
}
#endregion
C# 实现WinForm窗口最小化到系统托盘代码的更多相关文章
- C# 实现WinForm窗口最小化到系统托盘代码,并且判断左右鼠标的事件
1.设置WinForm窗体属性showinTask=false 2.加notifyicon控件notifyIcon1,为控件notifyIcon1的属性Icon添加一个icon图标. 3.添加窗体最小 ...
- C# WinForm窗口最小化到系统托盘
* C# WinForm窗口最小化到系统托盘http://hi.baidu.com/kfxtgtqyapouyze/item/8ccfdcd5a174a7312a35c7c3 主要功能:(1).程序启 ...
- C#实现窗口最小化到系统托盘
先添加notifyicon控件notifyIcon1 using System; using System.Collections.Generic; using System.ComponentMod ...
- WPF应用最小化至系统托盘运行
原文:WPF应用最小化至系统托盘运行 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/lordwish/article/details/5178889 ...
- 将 VMware 最小化到系统托盘
1, 下载 Trayconizer官网地址: http://www.whitsoftdev.com/trayconizer/下载地址: http://www.whitsoftdev.com/files ...
- Delphi 7下最小化到系统托盘
在Delphi 7下要制作系统托盘,只能制作一个比较简单的系统托盘,因为ShellAPI文件定义的TNotifyIconData结构体是比较早的版本.定义如下: 123456789 _NOTIFY ...
- 将Mozilla ThunderBird最小化到系统托盘(转载)
转自:http://be-evil.org/mozilla-thunderbird-minize-to-tray.html Mozilla ThunderBird是一款非常不错的邮件客户端,但是其在默 ...
- Delphi 7下最小化到系统托盘(主要是WM_TRAYMSG和WM_SYSCOMMAND消息)
在Delphi 7下要制作系统托盘,只能制作一个比较简单的系统托盘,因为ShellAPI文件定义的TNotifyIconData结构体是比较早的版本.定义如下: 123456789 _NOTIFY ...
- electron监听系统托盘,electron是否最小化到系统托盘
在项目中需要判断窗口是否最小化在系统托盘上,任务栏那已经关闭,查了一晚上的api,始终找不到可以调用的方法,最后绞尽脑汁想到了一个办法,那就是在点右上角的关闭按钮时,加个全局变量,用来标识已经最小到系 ...
随机推荐
- view {display:block}
view {display:block}
- ipv4 ipv6 在系统可扩展性方面的应用 支撑公司10-100年的AmazonOrderId
w 如同 基因 生态系统 理念 思维 算法
- ORACLE日期时间函数
ORACLE日期时间函数大全 TO_DATE格式(以时间:2007-11-02 13:45:25为例) Year: yy two digits 两位年 ...
- Hash表的C++实现(转)
原文:Hash表(C++实现) 哈希表的几个概念: 映像:由哈希函数得到的哈希表是一个映像. 冲突:如果两个关键字的哈希函数值相等,这种现象称为冲突. 处理冲突的几个方法: 1.开放地址法:用开放地址 ...
- spring(13)------全面深入解析spring的AOP
一,AOP的基本思想 AOP(Aspect Oriented Programming)翻译成中文的大意是面向切面编程,主要目的解决让不该牵扯在一起的代码分离开来. (1)认识AOP 应用程序中通常包含 ...
- Java关键字this
Java关键字this只能用于方法方法体内.当一个对象创建后,Java虚拟机(JVM)就会给这个对象分配一个引用自身的指针,这个指针的名字就是 this.因此,this只能在类中的非静态方法中使用,静 ...
- Slyce,这家硅谷创业公司的来头你知道吗
Slyce,也许你没听过,一家硅谷创业公司,旨在帮助运动员和其他社会名流组织.优化社交媒体,过滤粉丝的声音,让明星更好的在社交媒体上和他们互动.但是如果如果说库里,那你应该就知道了,拿到了上届NBA总 ...
- GAN综述
生成式对抗模型GAN (Generativeadversarial networks) 是Goodfellow等[1]在 2014年提出的一种生成式模型,目前已经成为人工智能学界一个热门的研究方向,著 ...
- 2.5 使用ARDUINO做主控,手机发送短信控制开关LED
需要准备的硬件 MC20开发板 1个 https://item.taobao.com/item.htm?id=562661881042 GSM/GPRS天线 1根 https://item.taoba ...
- 剑指offer 面试58题
面试58题: 题目:翻转字符串 题:牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上.同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意 ...