C#: form 添加窗体最小化事件,添加系统托盘图标,点击后可以打开、最小软件窗口

说明:

1.实现窗体在最小化后触发一个事件,可以去实现需要的功能。

2.最小化后软件图标出现在系统右下角的托盘串口。

3.点击托盘口的图标可以实现软件弹出窗口和最小化的切换。

1.参考办法

以下是判断C#窗体最小化到状态栏的状态的方法:

1.首先,需要在窗体中添加一个NotifyIcon控件,并为其属性Icon添加一个图标。

2.然后,添加窗体的SizeChanged事件,代码如下:

private void Form1_SizeChanged(object sender, EventArgs e)
{if (this.WindowState == FormWindowState.Minimized){this.Hide();this.notifyIcon1.Visible = true;}
}

3.最后,添加点击图标的事件,代码如下:

private void notifyIcon1_Click(object sender, EventArgs e)
{this.Visible = true;this.WindowState = FormWindowState.Normal;this.notifyIcon1.Visible = false;
}

4.补充说明:

NotifyIcon控件添加:搜索控件NotifyIcon,找到后拖到 form 窗口下方。

右键控件打开属性菜单,添加图标,Text 属性添加图标显示对应软件的名称或状态名称信息。

窗体的SizeChanged事件:右键点击窗口 选择属性、切换到 闪电 图标页面,打开属性窗口后找到 SizeChanged 双击自动添加事件函数。

2.实际应用代码

private void Form1_SizeChanged(object sender, EventArgs e)
{if (this.WindowState == FormWindowState.Minimized){this.Hide();                         //使当前窗体隐藏,这意味着它不会占据屏幕空间,但仍然会保留在内存中。this.notifyIcon1.Visible = true;     //显示名为notifyIcon1的通知图标。通知图标通常是一个在任务栏显示的自定义图标,用于提醒用户应用程序仍在运行。}
}//点击任务栏图标后切换软件窗口到默认状态或最小状态
private void notifyIcon1_Click(object sender, EventArgs e)
{if (this.WindowState == FormWindowState.Minimized){this.Visible = true;                          //设置当前窗体或控件的可见性为truethis.WindowState = FormWindowState.Normal;    //将窗体的状态设置为正常this.notifyIcon1.Visible = true;              //显示通知图标checkBox_full_display.Checked = false;        //取消曲线控件满屏显示}else //如果窗体不是最小化的(即处于正常或最大化状态),代码会将窗体的状态设置为最小化{this.WindowState = FormWindowState.Minimized;}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/248903.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

javaweb项目,springboot幼儿园健康管理系统,界面美观,增删改查。

javaweb项目,幼儿园健康管理系统,界面美观,增删改查。 管理员,老师,学生三个角色。 功能:权限管理,咨询列表,教师列表,班级列表,健康档案列表,评…

C++——特殊类

特殊类 文章目录 特殊类一、请设计一个类,不能被拷贝二、请设计一个类,只能在堆上创建对象方案一:析构函数私有化方案二:构造函数私有化 三、请设计一个类,只能在栈上创建对象四、请设计一个类,不能被继承五…

c++连接mysql

c连接mysql 安装mysql以及c对应的库进入数据库,创建数据库,表,并新建管理员用户编写c代码编译运行,测试结果头文件解释 安装mysql以及c对应的库 sudo apt-get update sudo apt-get install mysql-server sudo apt-get install li…

CISAW和CISP-PTE证书选择指南

📣在信息安全领域,选择合适的证书可以为你的职业生涯增添光彩。很多从事信息渗透行业的朋友经常讨论CISP-PTE和CISAW之间的选择问题。今天就从4个方面带你详细了解这两张证书,帮你做出明智的选择! 1️⃣证书的行业前景 &#x1f4…

python爬虫爬取网站

流程: 1.指定url(获取网页的内容) 爬虫会向指定的URL发送HTTP请求,获取网页的HTML代码,然后解析HTML代码,提取出需要的信息,如文本、图片、链接等。爬虫请求URL的过程中,还可以设置请求头、请求参数、请求…

Ubuntu系统安装 Redis

环境准备 Ubuntu 系统版本:22.04.3Redis 版本:6.2.12 检查本地 make 环境 make -version若没有安装,则需要安装 sudo apt install make检查本地 gcc 环境 gcc -version若没有安装,则需要安装 sudo apt install gcc。 sudo a…

Single-Head ViT;Faster Whisper;Transformer KF;Pick-and-Draw

本文首发于公众号:机器感知 Single-Head ViT;Faster Whisper;Transformer KF;Pick-and-Draw SHViT: Single-Head Vision Transformer with Memory Efficient Macro Design Recently, efficient Vision Transformers have shown …

【遥感专题系列】遥感影像信息提取之——人工目视解译

​遥感影像通过亮度值或像元值的高低差异(反映地物的光谱信息)及空间变化(反映地物的空间信息)来表示不同地物的差异,这是区分不同影像地物的物理基础。 ​人工解译是目前国内使用最多的一种影像提取方法,如…

算法练习-螺旋矩阵(思路+流程图+代码)

难度参考 难度:中等 分类:数组 难度与分类由我所参与的培训课程提供,但需要注意的是,难度与分类仅供参考。以下内容均为个人笔记,旨在督促自己认真学习。 题目 给定一个正整数n,生成一个包含1到 n^2 所有元…

API网关-Apisix RPM包方式自动化安装配置教程

文章目录 前言一、简介1. etcd简介2. APISIX简介3. apisix-dashboard简介 二、Apisix安装教程1. 复制脚本2. 增加执行权限3. 执行脚本4. 浏览器访问5. 卸载Apisix 三、命令1. Apisix命令1.1 启动apisix服务1.2 停止apisix服务1.3 优雅地停止apisix服务1.4 重启apisix服务1.5 重…

Android矩阵Matrix变换setRectToRect,Kotlin

Android矩阵Matrix变换setRectToRect,Kotlin 在 Android画布Canvas裁剪区域clipRect,Kotlin-CSDN博客 基础上,增加一个点,通过setRectToRect挖出Bitmap原图中心区域的一块放到目标RectF里面。 import android.content.Context imp…

Google Chrome 常用的几个参数

1 右键--Google Chrome--属性--目标 参数作用--disable-infobars此计算机将不会再收到 Google Chrome 更新,因为 Windows XP 和 Windows Vista 不再受支持。适用于 xp、2003 的 49.x.x.x 版本。示例1--ingore-certificate-errors忽略证书错误--disable-background-…

知识库建设这些工具来帮忙,企业工作效率翻倍

在当今深度信息化的年代,知识库成了企业不可或缺的一部分,它的建设与管理显得格外重要。然而,想要建设又好又高效的知识库并非易事。好消息是,有很多优秀的工具可以让这个过程变得更加轻松,今天我们就重点来探讨其中的…

excel中去掉单元格中两个数字之间的空格

excel中去掉单元格中两个数字之间的空格 使用公式:SUBSTITUTE(A1," “,”") 解释:将A1单元格中的空格查找出来并去掉。

搭建WebGL开发环境

前言 本篇文章介绍如何搭建WebGL开发环境 WebGL WebGL的技术规范继承自免费和开源的OpenGL ES标准,从某种意义上说,WebGL就是Web版的OpenGL ES,而OpenGL ES是从OpenGL中派生出来的。他们的应用环境有区别,一般来说:…

C++:第十四讲动态规划初步

每日C知识 想要在做C小游戏里实现等待效果,可以用Sleep。 Sleep函数可以使计算机程序(进程,任务或线程)进入休眠,使其在一段时间内处于非活动状态。 一般需要头文件windows.h。 注意"Sleep"首字母要大写…

ppt背景图片怎么设置?让你的演示更加出彩!

PowerPoint是一款广泛应用于演示文稿制作的软件,而背景图片是演示文稿中不可或缺的一部分。一个好的背景图片能够提升演示文稿的整体效果,使观众更加关注你的演示内容。可是ppt背景图片怎么设置呢?本文将介绍ppt背景图片设置的三个方法&#…

Spring-boot项目+Rancher6.3部署+Nacos配置中心+Rureka注册中心+Harbor镜像仓库+NFS存储

目录 一、项目概述二、环境三、部署流程3.1 Harbor部署3.1.1 docker安装3.1.2 docker-compose安装3.1.3 安装证书3.1.4 Harbor下载配置安装 3.2 NFS存储搭建3.3 Rancher平台配置3.3.1 NFS存储相关配置3.3.2 Harbor相关配置3.3.3 Nacos部署及相关配置3.3.4 工作负载deployment配…

ubuntu20.04 安装ROS2 记录

主要参考B站古月居的ROS2入门21讲 和 以下链接(基本和视频上一致) ubuntu20.04安装ROS2 详细教程_ubuntu20.04 ros2-CSDN博客 但是中间有些需要注意的地方, 1,添加源 步骤中提到 sudo curl -sSL https://raw.githubuserconten…

Redis冲冲冲——缓存三兄弟:缓存击穿、穿透、雪崩

目录 引出缓存击穿缓存穿透缓存雪崩 总结 引出 谈谈redis的击穿、穿透、雪崩。 缓存击穿 缓存击穿:redis中没有,但是数据库有 顺序:先查缓存,判断缓存是否存在;如果缓存存在,直接返回数据;如果…